gpt4 book ai didi

ionic-framework - Ionic2:将 File-Chooser uri 转换为文件路径

转载 作者:行者123 更新时间:2023-12-01 08:50:52 25 4
gpt4 key购买 nike

Ionic native 分别提供文件选择器和文件插件。 File 插件需要文件的绝对路径才能读取,但无法pick文件。

为了选择文件,我使用了文件选择器,它返回一个 URI。

import { FileChooser } from '@ionic-native/file-chooser';

constructor(private fileChooser: FileChooser) { }

...

this.fileChooser.open()
.then(uri => console.log(uri))
.catch(e => console.log(e));

uri 看起来像这样

content://com.android.providers.media.documents/document/image%3A68

文件插件可以利用路径读取文件。

import { File } from '@ionic-native/file';

constructor(private file: File) { }

...

this.file.readAsText(this.file.dataDirectory, 'myFile')
.then((content) =>
console.log(this.file.dataDirectory + 'myFile');
console.log(content)
).catch( err =>
console.log('File doesnt exist')
);

路径如下所示。

file:///data/data/com.myapp.myappmobile/files/myFile

如何利用这两个组件。使用 FileChooser 选择一个文件,然后在 Ionic 2 中读取它。

最佳答案

请安装 FilePath 插件以获取 native 路径。然后使用下面的代码。例如,您正在选择一个图像文件。

nativepath: any;
uploadfn(){
this.fileChooser.open().then((url) => {
(<any>window).FilePath.resolveNativePath(url, (result) => {
this.nativepath = result;
this.readimage();
}
)
})
}

readimage() {
(<any>window).resolveLocalFileSystemURL(this.nativepath, (res) => {
res.file((resFile) => {
var reader = new FileReader();
reader.readAsArrayBuffer(resFile);
reader.onloadend = (evt: any) => {
var imgBlob = new Blob([evt.target.result], { type: 'image/jpeg'});
//do what you want to do with the file
}
})
})
}

请看这里 - http://tphangout.com/ionic-2-serving-images-with-firebase-storage/

(处理如何从手机的文件系统中选择图像并将其上传到 Firebase 存储)

希望这对您有所帮助。谢谢。

关于ionic-framework - Ionic2:将 File-Chooser uri 转换为文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43340989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com