当前位置: 首页 > 面试题库 >

Phonegap-将图片从url保存到设备照片库中

吴刚毅
2023-03-14
问题内容

我正在开发phonegap应用程序,我需要将URL中的图像保存到Device Photo Gallery。

我在Phonegap Api上找不到执行此操作的方法,而且我也没有找到用于此目的的phonegap插件。

我需要它才能与Iphone和Android一起使用

非常感谢!


问题答案:

这是任何人都可以使用的文件下载代码。您只有三个参数可以像这样使用-

1) 网址

2)您要在SD卡中创建的 文件夹名称

3) 文件名 (您可以给文件起任何名字)

可以使用此代码下载所有类型的文件。您可以将其用作.js,并且IOS也可以使用。

//First step check parameters mismatch and checking network connection if available call    download function
function DownloadFile(URL, Folder_Name, File_Name) {
//Parameters mismatch check
if (URL == null && Folder_Name == null && File_Name == null) {
    return;
}
else {
    //checking Internet connection availablity
    var networkState = navigator.connection.type;
    if (networkState == Connection.NONE) {
        return;
    } else {
        download(URL, Folder_Name, File_Name); //If available download function call
    }
  }
}

//第二步获得写权限和文件夹创建

function download(URL, Folder_Name, File_Name) {
//step to request a file system 
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, fileSystemSuccess, fileSystemFail);

function fileSystemSuccess(fileSystem) {
    var download_link = encodeURI(URL);
    ext = download_link.substr(download_link.lastIndexOf('.') + 1); //Get extension of URL

    var directoryEntry = fileSystem.root; // to get root path of directory
    directoryEntry.getDirectory(Folder_Name, { create: true, exclusive: false }, onDirectorySuccess, onDirectoryFail); // creating folder in sdcard
    var rootdir = fileSystem.root;
    var fp = rootdir.fullPath; // Returns Fulpath of local directory

    fp = fp + "/" + Folder_Name + "/" + File_Name + "." + ext; // fullpath and name of the file which we want to give
    // download function call
    filetransfer(download_link, fp);
}

function onDirectorySuccess(parent) {
    // Directory created successfuly
}

function onDirectoryFail(error) {
    //Error while creating directory
    alert("Unable to create new directory: " + error.code);
}

  function fileSystemFail(evt) {
    //Unable to access file system
    alert(evt.target.error.code);
 }
}

//将文件下载到创建的文件夹的第三步

function filetransfer(download_link, fp) {
var fileTransfer = new FileTransfer();
// File download function with URL and local path
fileTransfer.download(download_link, fp,
                    function (entry) {
                        alert("download complete: " + entry.fullPath);
                    },
                 function (error) {
                     //Download abort errors or download failed errors
                     alert("download error source " + error.source);
                     //alert("download error target " + error.target);
                     //alert("upload error code" + error.code);
                 }
            );
}

有用的链接



 类似资料:
  • 本文向大家介绍iOS中读取照片库及保存图片或视频到照片库的要点解析,包括了iOS中读取照片库及保存图片或视频到照片库的要点解析的使用技巧和注意事项,需要的朋友参考一下 读取照片库PhotoLibrary iOS中如果我们只有一次读取一张图片或者一个视频(或拍一张照片/视频)的需求,那么我们用 UIImagePickerController 就可以搞定。但是很多时候我们需要一次性从PhotoLibr

  • 我的应用程序(使用SDK小于24)可以使用相机拍照和视频。这些照片和视频可以在应用程序外的图库中查看。SDK 24及以上版本要求FileProvider创建uri,以便将照片或视频保存到多媒体资料中。 在SDK 24之前,我会使用uri和拍照意图: 使用SDK24及更高版本会出现异常: 我想使用FileProvider实现同样的目标(没有例外)。下面的实现可以拍照,但照片不会出现在图库中。我想知道

  • 我在组合科尔多瓦的camera.getPicture插件和他们的FileTransfer.upload插件时遇到了一些问题。最奇怪的是,当我从相机拍照时,一切都很好,而不是当我从图书馆检索时。 问题看起来像这样:Phonegap/Cordova从图库上传图像在Android Kitkat上不起作用。 但是我用的是Cordova 3,所以这肯定能解决kitkat的问题。 我的代码: take_pho

  • 当我运行progressdialog出现在屏幕上时,它突然停止运行,并发出通知“应用程序停止了,再试一次”,然后我在android manitor上重复了这个错误,当然我首先要做的是:

  • 问题内容: Go的新手(我正在研究的第一个简单项目)。 问题:如何从URL获取图像,然后将其保存到计算机中? 这是我到目前为止的内容: 但是,当我运行此代码时,我得到 我假设我必须将image.Image(变量)转换为未定义的字节数?那是解决这个问题的正确方法吗? 问题答案: 无需解码文件。只需将响应正文复制到您打开的文件中即可。这是修改后的示例中的交易: 是数据流,并实现了接口-意味着您可以按顺

  • 我收到代码为200的响应,但图像没有上传到服务器