代码如下:
filePreview.canPreview(uiContext, this.filebean.url).then((result) => { // 此处返回true
console.info(`Succeeded in obtaining the result of whether it can be previewed. result = ${result}`);
let uiContext = getContext(this);
let fileInfo: filePreview.PreviewInfo = {
title: this.filebean.name,
uri: this.filebean.url,
mimeType: 'image/' + new SavePhotoUtils().getFileNameWithoutExtension(this.filebean.name)
};
let files: Array<filePreview.PreviewInfo> = new Array();
files.push(fileInfo);
filePreview.openPreview(uiContext, files, 0).then(() => {
console.info('Succeeded in opening preview');
}).catch((err: BusinessError) => {
console.error(`Failed to open preview, err.code = ${err.code}, err.message = ${err.message}`);
});
}).catch((err: BusinessError) => {
console.error(`Failed to obtain the result of whether it can be previewed, err.code = ${err.code}, err.message = ${err.message}`);
})
已经跳转到文件预览页面了,但是却是文件预览失败。
方法一:
参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-file-fileuri-V5\#fileurigeturifrompath
方法二:
建议使用canPreview判断资源是否可以被预览,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/preview-filepreview-V5
示例参考: