在我的离子应用程序中,当我尝试使用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",