Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 下载图像并在iPhone Phonegap应用程序上本地保存_Javascript_Iphone_Download_Offline_Cordova - Fatal编程技术网

Javascript 下载图像并在iPhone Phonegap应用程序上本地保存

Javascript 下载图像并在iPhone Phonegap应用程序上本地保存,javascript,iphone,download,offline,cordova,Javascript,Iphone,Download,Offline,Cordova,我已经成功地保存了一个网页(x/html),但我也想保存其中包含的图像和mp4视频,以便在脱机模式下进一步可视化 我可以访问iOS文件系统,因此我通过AJAX请求获取代码,然后将其保存到文件中,从而保存html 我真的不知道如何对视频和图像做同样的处理。我有一个服务器,我可以从我的应用程序向其发送查询,因此它专门显示我需要下载的内容,并在必要时提供最佳标题。我只是不知道如何从客户端“下载”它(Javascript) 提前感谢您的帮助。恐怕您只能自己做。 我正在通过我编写的文件下载PhoneGap

我已经成功地保存了一个网页(x/html),但我也想保存其中包含的图像和mp4视频,以便在脱机模式下进一步可视化

我可以访问iOS文件系统,因此我通过AJAX请求获取代码,然后将其保存到文件中,从而保存html

我真的不知道如何对视频和图像做同样的处理。我有一个服务器,我可以从我的应用程序向其发送查询,因此它专门显示我需要下载的内容,并在必要时提供最佳标题。我只是不知道如何从客户端“下载”它(Javascript


提前感谢您的帮助。

恐怕您只能自己做。
我正在通过我编写的文件下载PhoneGap插件,使用NSURLConnection来实现这一点。我通过Javascript将要下载的url和目标位置传递给插件(它甚至提供了下载进度)

尚未对其进行测试,但PhoneGap上的文档看起来很有希望

您可以使用对象将远程图像下载到本地文件

这是最新的官方示例片段:

    // !! Assumes filePath is a valid path on the device

    var fileTransfer = new FileTransfer();
    var uri = encodeURI("http://some.server.com/download.php");

    fileTransfer.download(
        uri,
        filePath,
        function(entry) {
            console.log("download complete: " + entry.fullPath);
        },
        function(error) {
            console.log("download error source " + error.source);
            console.log("download error target " + error.target);
            console.log("upload error code" + error.code);
        },
        false,
        {
            headers: {
                "Authorization": "Basic dGVzdHVzZXJuYW1lOnRlc3RwYXNzd29yZA=="
            }
        }
    );

我在ios应用程序项目中使用了以下代码片段:

 window.requestFileSystem  = window.requestFileSystem || window.webkitRequestFileSystem;
 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, success, fail);

 var target_directory="";

 function fail() {
   //alert("failed to get filesystem");
 }

 function downloadImage(url, filename){
   alert("download just started.");
    try{
        var ft = new FileTransfer();
        ft.download(
           url,
           target_directory + filename, 
           function(entry) {
              //alert("download complete!:" + entry.nativeURL ); //path of the downloaded file 
           },
           function(error) {
              //alert("download error" + error.code);
              //alert("download error" + JSON.stringify(error));
           }
       );
   }
   catch (e){
       //alert(JSON.stringify(e));
   }

}

function success(fileSystem) {
   target_directory = fileSystem.root.nativeURL; //root path 
    downloadImage(encodeURI("http://upload.wikimedia.org/wikipedia/commons/2/22/Turkish_Van_Cat.jpg"), "cat.jpg"); // I just used a sample url and filename
}

嗨,你能分享你的代码吗?如果我能实现我所追求的目标,我愿意捐款。这方面有什么更新吗?你最终决定了什么?如果我想在应用程序中保存图像,你能告诉我文件路径是什么吗?比如www/something/file.jpg。你在应用程序中的意思是什么?您需要将其保存在SD卡或内存目录中。该网页是在应用程序资源中编译的,您不能在那里编写。