HarmonyOS 鸿蒙Next 如何在文件内选择其他app预览文件
HarmonyOS 鸿蒙Next 如何在文件内选择其他app预览文件 就是我有一个pdf,我不想用自带的,想用已安装的wps预览,如何操作
参考demo: 运行之后点击传到沙箱,点击预览,选择右上角的使用wps office打开
import common from '@ohos.app.ability.common';
import fs from '@ohos.file.fs';
import { filePreview } from '@kit.PreviewKit';
import { BusinessError } from '@kit.BasicServicesKit';
import fileUri from '@ohos.file.fileuri';
import { picker } from '@kit.CoreFileKit';
let context = getContext(this) as common.UIAbilityContext;
let uiContext = getContext(this);
let fileInfo: filePreview.PreviewInfo = {
title: '1.xls',
uri: '',
mimeType: 'application/vnd.ms-excel'
};
function copyFile() {
console.log("copyFile!")
let documentPicker = new picker.DocumentViewPicker();
let srcFileDescriptor = context.resourceManager.getRawFdSync('1.xls');
let stat = fs.statSync(srcFileDescriptor.fd)
console.log(`stat isFile:${stat.isFile()}`);
fs.stat(srcFileDescriptor.fd).then((stat: fs.Stat) => {
console.info("get file info succeed, the size of file is " + stat.size);
}).catch((err: BusinessError) => {
console.error("get file info failed with error message: " + err.message + ", error code: " + err.code);
});
let pathDir = context.filesDir;
console.log("path:", pathDir)
let dstPath = pathDir + "/1.xls";
let dest = fs.openSync(dstPath, fs.OpenMode.CREATE | fs.OpenMode.READ_WRITE);
let fileUriTmp = fileUri.getUriFromPath(dstPath);
fileInfo.uri = fileUriTmp;
let bufsize = 4096
let buf = new ArrayBuffer(bufsize)
let off = 0, len = 0, readedLen = 0
while (len = fs.readSync(srcFileDescriptor.fd, buf, { offset: srcFileDescriptor.offset + off, length: bufsize })) {
readedLen += len
fs.writeSync(dest.fd, buf, { offset: off, length: len })
off = off + len
if ((srcFileDescriptor.length - readedLen) < bufsize) {
bufsize = srcFileDescriptor.length - readedLen
}
}
fs.close(dest.fd)
}
@Entry
@Component
struct Xlsx {
@State message: string = '预览';
build() {
Row() {
Column() {
Button('传到沙箱')
.onClick(() =>{
copyFile()
})
Button(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold)
.onClick(() => {
filePreview.openPreview(uiContext, fileInfo).then(() => {
console.info('openPreview success');
}).catch((err: BusinessError) => {
console.error('openPreview failed, err = ' + err.message);
});
})
}
.width('100%')
}
.height('100%')
}
}
更多关于HarmonyOS 鸿蒙Next 如何在文件内选择其他app预览文件的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next系统中,若想在文件内选择其他应用预览文件,可以按照以下步骤操作:
-
打开文件管理器:首先,在设备上找到并打开文件管理器应用。这通常是系统预装的应用,用于浏览和管理设备上的文件。
-
定位到目标文件:在文件管理器中,浏览并定位到你想要预览的文件。这可能是一个文档、图片、视频或其他类型的文件。
-
长按文件以触发预览选项:找到目标文件后,长按该文件以触发更多的操作选项。在弹出的菜单中,通常会包含“打开方式”或类似的选项。
-
选择其他应用预览:点击“打开方式”后,系统会列出所有能够处理该文件类型的应用。浏览列表,选择你希望用来预览该文件的应用。
-
预览文件:选择应用后,系统会尝试使用该应用打开并预览文件。如果一切正常,你应该能够在所选应用中看到文件的预览内容。
请注意,不是所有文件类型都能在所有应用中预览。如果某个应用不支持预览特定类型的文件,它可能不会在“打开方式”列表中出现。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html,