我构建了在 Android 上运行良好的纯 html PhoneGap 应用程序。它具有下载大型视频文件的链接。简单的直接链接。但是它不能在 iPhone 或 iOS 上下载。他们的浏览器不支持文件下载。它尝试播放和口吃,然后停止。
我需要非常简单的函数或代码来在 iOS 上下载文件。
我没有 phonegap js 或任何 js,但如果需要我可以包括。仅使用了 html 和 config.xml。我使用 PhoneGap Build 从 html/css 创建应用程序。谢谢!
要下载文件(来自phonegap doc的片段):
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);
}
);
第一个参数是你要下载的url,最后两个是成功和错误回调。第二个是您要存储文件的完整路径,包括文件名和扩展名。要获取对您的应用程序根目录的引用:
function gotFS(fileSystem) {
console.log("got filesystem");
// save the file system for later access
console.log(fileSystem.root.fullPath);
window.rootFS = fileSystem.root;
}
document.addEventListener('deviceready', function() {
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}, false);
因此,如果您正在下载一个名为“video.avi”的视频并希望将其存储在应用程序根文件夹中,那么您将传递给下载方法的 filePath 变量将是这样的:
var filePath = rootFS.fullPath+'/video.avi';
希望这可以帮助