【发布时间】:2017-09-29 21:28:01
【问题描述】:
我有一个 Ionic 2 应用程序,我需要从服务器下载 sample.csv 文件。我已经有了执行请求所需的 url:
let url = 'http://example.com/download/sample.csv';
我想知道如何做到这一点。我尝试使用 ionic2 FileTransfer:
importleads(){
const fileTransfer: TransferObject = this.transfer.create();
let url = 'http://example.com/download/sample.csv';
fileTransfer.download(url, this.file.dataDirectory + 'Import_Leads_Sample.csv').then((entry) => {
if(entry) {
console.log('download complete: ' + entry.toURL());
let alert = this.alertCtrl.create({
title: 'Lead Downloaded Successfully',
buttons: [{
text: 'Ok',
}]
});
alert.present();
}
else{
let alert = this.alertCtrl.create({
title: 'No File to download',
buttons: [{
text: 'Ok',
}]
});
alert.present();
}
});
}
<button ion-button (click)="importleads()">Test File Download</button>
我已生成 android-debug.apk 文件并将其安装在三星手机中。我收到Lead Downloaded Successfully 的警报消息,但设备中没有下载任何文件。我搜索了整个手机磁盘,但没有找到文件。
如果我把这个网址放在浏览器中,它会开始下载,但不是通过 FileTransfer。
【问题讨论】:
-
您是否完全按照这里提到的ionicframework.com/docs/native/transfer 进行操作,即下载插件,检查清单文件中的适当权限以防您在棉花糖版本上使用它并打印文件路径,即
this.file.dataDirectory -
是的,我已按照所有步骤操作。我在哪里可以找到这个清单文件?是的,我正在使用 Marshmallow。
-
在 ionic 应用程序中会有
config.xml文件,您可能需要将其添加到那里,或者您可以使用此处的插件 npmjs.com/package/cordova-plugin-android-permissions -
请检查取自工作离子文件传输示例的替代可能答案
标签: angular typescript ionic2