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