1.文件预览filePreview 只支持本地文件,不支持在线文件吗?
2.预览失败。
let url = 'xxxx';
axios.get(url, {
responseType: 'ARRAY_BUFFER',
}).then(async (res: AxiosResponse) => {
if (res.status == 200) {
let buffer = res.data as ArrayBuffer;
let file = await fs.open(this.uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
await fs.write(file.fd, buffer);
await fs.close(file.fd);
let uiContext = getContext(this);
filePreview.canPreview(uiContext, this.uri).then((result) => { // 传入支持的文件类型且项目存在时会返回true
if (result) {
let uiContext = getContext(this);
let displayInfo: filePreview.DisplayInfo = {
x: 100,
y: 100,
width: 800,
height: 800
};
let fileInfo: filePreview.PreviewInfo = {
title: '1721784649271.jpg',
uri: this.uri,
mimeType: 'image/jpeg'
};
filePreview.openPreview(uiContext, fileInfo, displayInfo).then(() => {
console.info('Succeeded in opening preview');
}).catch((err: BusinessError) => {
console.error(`Failed to open preview, err.code = ${err.code}, err.message = ${err.message}`);
});
}
console.info(`Succeeded in obtaining the result of whether it can be previewed. result = ${result}`);
}).catch((err: BusinessError) => {
console.error(`Failed to obtain the result of whether it can be previewed, err.code = ${err.code}, err.message = ${err.message}`);
});
}
}).catch((err: object) => {
});
请先使用这个demo,来判断资源是否可以被预览:
文件预览不支持在线预览。