【问题标题】:Downloading a file from a website from a Cordova iOS app从 Cordova iOS 应用程序从网站下载文件
【发布时间】:2021-05-08 09:19:42
【问题描述】:

我有一个 Cordova 应用程序,它从网站下载图像文件并保存到本地缓存。这在 Android 上运行良好,但在 iOS 上不行。我正在使用带有 iOS 6.1.1 的 Cordova 10.0.0

var xhr = new XMLHttpRequest();
xhr.open("GET", 'https://www.mywbsite.com/image.jpg', true);
xhr.responseType = "blob";

xhr.onreadystatechange = function () {
    console.log(xhr.readyState);
}

xhr.onload = function() {
    
    var blob = xhr.response;

    window.resolveLocalFileSystemURL(cordova.file.cacheDirectory, function (directoryEntry) {
        directoryEntry.getFile('downloadedFile.jpg', { create: true }, function (fileEntry) {
            fileEntry.createWriter(function (fileWriter) {
                fileWriter.onwriteend = function (result) {
                    console.log("Success");
                };
                fileWriter.onerror = function (e) {
                    console.log("failed");
                };
                fileWriter.write(blob);
            }, function(e) {
                console.log("failed");
            });
        }, function(e) {
            console.log("failed");
        });
    }, function(e) {
        console.log("failed");
    });
}
xhr.onerror = function(e) { 
    console.log("failed "+xhr.status);
}

xhr.send();

readyState 变为 4,状态为 0。我怀疑这与 WKWebView 有关,但我不确定如何解决这个问题。远程站点没有运行脚本,只是我要下载的直接图像。

谢谢! 乔恩

【问题讨论】:

    标签: javascript ios cordova xmlhttprequest


    【解决方案1】:

    我找到了问题的答案。安装插件 cordova-plugin-wkwebview-file-xhr 允许 WKWebview 建立连接并下载文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-23
      • 1970-01-01
      相关资源
      最近更新 更多