使用https的Cordova文件传输插件不适用于Windows

时间:2016-05-31 11:07:25

标签: javascript windows cordova https

我目前正在使用cordova文件传输插件下载文件并在本地保存。我正在使用https,服务器证书已安装在设备中。

它适用于IOS和Android,但它不适用于Windows。

我能够调试插件的代码,并且在这部分中会出现错误消息“发生安全问题”并且现在将返回到具有FTErr.CONNECTION_ERR的应用程序:

var downloadOperation = download.startAsync();
// update internal TransferOperation object with newly created promise
fileTransferOps[downloadId].promise = downloadOperation;
downloadOperation.then(function () {...}, function(error) 
{
    if (error.message === 'Canceled') {
       resolve(new FTErr(FTErr.ABORT_ERR, source, target, null, null, error));
    } else if (error && error.number === HTTP_E_STATUS_NOT_MODIFIED) {
       resolve(new FTErr(FTErr.NOT_MODIFIED_ERR, source, target, 304, null, error));
    } else {
    // in the other way, try to get response property
        var response = download.getResponseInformation();
        if (!response) {
           resolve(new FTErr(FTErr.CONNECTION_ERR, source, target));
        } 
    }
}

这是我在cordova中的代码:

fileTransfer.download(uri, fileURL, function (entry) {
    console.log('file download successful');
}, function (errorMsg) {
    console.log(errorMsg);
}, false, {
    headers: {"Authorization": authToken},
});`

我有什么遗漏在Windows中使这个工作吗?

只是添加,使用http下载正在运行。 自从ajax开始工作以来,Https证书也是有效的。

谢谢!

1 个答案:

答案 0 :(得分:0)

从MSDN,BackgroundDownloader不支持客户端证书。 https://social.msdn.microsoft.com/Forums/en-US/c25146d2-c051-4367-9745-2b526618dc35/winjsxhr-and-httpclient-work-with-client-certificates-backgrounddownloader-doesnt?forum=winappswithhtml5

所以我想现在唯一的办法就是创建一个使用HttpClient的插件。