【发布时间】:2021-01-18 17:58:41
【问题描述】:
【问题讨论】:
-
是ios还是android
-
两者。格式,我得到了。 Filr uri,而不是大小
-
我在下面添加了我的评论。我已经在android上测试过这个我没有ios设备所以你可以在ios上测试它会为你工作如果有任何问题请告诉我
标签: angular cordova ionic-framework
【问题讨论】:
标签: angular cordova ionic-framework
文件选择器插件用于文件选择。它不会为您提供文件信息,如大小 mimetype 等。您需要一些其他插件,如 file 和 filepath 从文件中获取此信息。我在下面提到了这些链接,并添加了我的示例代码,您如何通过这些插件获取此信息,请检查。
构造函数
import { FileChooser } from '@ionic-native/file-chooser/ngx';
import { FilePath } from '@ionic-native/file-path/ngx';
import { File } from '@ionic-native/file/ngx';
constructor(
private fileChooser: FileChooser,
private filepath : FilePath,
private file : File,
private plt : Platform
) { }
文件选择功能
async selectFile(){
if(this.plt.is('android')){
const selectedFile : string = await this.fileChooser.open();
const resolvedPath = await this.filepath.resolveNativePath(selectedFile);
const fileEntry = await this.file.resolveLocalFilesystemUrl(resolvedPath) as any;
fileEntry.file((fileInfo)=>{
console.log('File Info ', fileInfo);
//sample response file mime type size etc you can use it as per your requirement
// end: 3028
// lastModified: 1610953273000
// lastModifiedDate: 1610953273000
// localURL: "cdvfile://localhost/sdcard/Download/sample.pdf"
// name: "sample.pdf"
// size: 3028
// start: 0
// type: "application/pdf"
})
}else{
//For ios device
const selectedFile : string = await this.filePicker.pickFile() ;
const fileEntry = await this.file.resolveLocalFilesystemUrl('file:///'+selectedFile) as any;
fileEntry.file((fileInfo)=>{
console.log('File Info ', fileInfo);
})
}
}
【讨论】:
filechooser 仅适用于 android
filepicker 插件 .. 所以我猜你可以在 android 上使用当前的函数,在 ios 上你可以创建一个新函数