android - 使用 fileTransfer 下载 Ionic 4
问题描述
import { Component, OnInit } from '@angular/core';
import { ModalController, Platform } from '@ionic/angular';
import { PushdataService } from '../pushdata.service';
import { FileTransfer, FileUploadOptions, FileTransferObject } from '@ionic-native/file-transfer/ngx';
import { File } from '@ionic-native/file/ngx';
@Component({
selector: 'app-modalquotes',
templateUrl: './modalquotes.page.html',
styleUrls: ['./modalquotes.page.scss'],
})
export class ModalquotesPage implements OnInit {
public storageDirectory:any;
constructor(private transfer: FileTransfer, private file: File, private modalCtrl: ModalController, public pushdata: PushdataService) {
}
downloadme() {
const fileTransfer: FileTransferObject = this.transfer.create();
this.storageDirectory = this.file.externalRootDirectory + 'Download/';
const url = "https://xxxxx.com/server_api/asset/quotes/test.jpeg";
fileTransfer.download(url,this.storageDirectory + "test.jpeg", true).then(
(entry) => {
alert('Berhasil download dan tersimpan di : ' + this.storageDirectory + "test.jpeg");
}, (error) => {
alert('gagal : ' + JSON.stringify(error));
});
}
ngOnInit() {
}
}
这是我的代码 page.ts,但下载的结果是“Permitte Denied”。请帮助我,除了一些错误,我做了很多尝试。这仅适用于"this.file.externalApplicationStorageDirectory"
仅从根文件夹应用程序下载文件。但我希望将此图像下载到文件夹下载。
解决方案
首先,externalRootDirectory 属性用于将文件存储到外部存储设备,例如 SD 卡。
所以我建议您更改以下代码行:
this.storageDirectory = this.file.externalRootDirectory + 'Download/';
TO
this.storageDirectory = 'Download/';
这应该将您的文件下载到“下载”文件夹中
推荐阅读
- python - 是什么导致循环中的属性错误以及如何解决这个问题
- python - 如何在python中读取由空格分隔的输入,因为不同的数据类型最好动态地写入列表?
- python - How to sort pandas dataframe by two date columns
- python - 带孔的矩形阵列
- firebase - Flutter Firebase Analytics: Track page changes with onGenerateRoute
- php - 链接到 Mysql 和搜索功能的下拉框
- r - R中接受和返回向量的函数
- python - 有时为什么我们必须在 python 中将参数作为元组传递?
- reactjs - 使用值从 React 调用 .NET Core 控制器方法
- java - @DataJpaTest 使用存储库保存实体,无法使用 JdbcTemplate 检索数据