Cordova-plugin-file-transfer FileTransfer下载错误代码3 - 在离子应用程序中握手失败

时间:2017-09-12 13:59:27

标签: android cordova ionic-framework cordova-plugins ionic3

在我的离子应用程序中,当我尝试使用cordova文件传输插件从我们的服务器下载pdf文档时,我总是收到错误:

代码段

public getDocument(url: string, filePath: string, fileName: string): 
Promise<boolean> {

const fileTransfer = new Transfer();
let headers = this.createHeader();
let requestOptions = new RequestOptions({headers: headers});

return this.documentPromise = new Promise((resolve, reject) => {
  fileTransfer.download(url, filePath + fileName, true, requestOptions)
    .then((entry) => {
      resolve(entry.toURL());
    })
    .catch((error) => {
      reject(error);
    });

它直接跳转到catch案例并提供以下内容

错误

JSON.stringify(error)

>> 
"code": 3, 
"source": "https://asd.mysite.de/proxy/bill/app/pdfdocument", 
"target": "file:///storage/emulated/0/Android/data/subdomain.domainname.toplevdomain/files/document.pdf" 
"http_status": null, 
"body": null, 
"exception": "Handshake failed"

&#34;来源&#34;路径可以访问,文件可以从其他设备下载。在我的手机上,现在存在路径&#34; / storage / emulated&#34;并且永远不会创建路径的其余部分。

这只发生在我的三星A3上,最新的Android版本和一部相当新的华为手机,但不会出现在其他Android手机或ios上。

有关可能发生此错误的原因的任何想法?

这是我的运行系统:

cli packages: (D:\Users\...)

@ionic/cli-utils  : 1.9.2
ionic (Ionic CLI) : 3.9.2

全球套餐:

Cordova CLI : 7.0.1

本地包裹:

@ionic/app-scripts : 2.1.3
Cordova Platforms  : android 6.2.3 browser 4.1.0
Ionic Framework    : ionic-angular 3.6.0

系统:

Android SDK Tools : 26.0.2
Node              : v6.11.0
npm               : 5.3.0
OS                : Windows 7

相关插件使用此版本设置:

    "cordova-plugin-file": "^4.3.3",
    "cordova-plugin-file-opener2": "^2.0.19",
    "cordova-plugin-file-transfer": "^1.6.3",
    "cordova-plugin-whitelist": "^1.3.1",

0 个答案:

没有答案