import { filePreview } from '@kit.PreviewKit';
import { promptAction } from '@kit.ArkUI';
import { fileIo as fs, fileUri } from '@kit.CoreFileKit';
@Entry
@Component
struct Index {
private fileName: string = 'preview_info.txt';
build() {
Row() {
Column() {
Button('openPreview')
.onClick(async() => {
let context = getContext(this);
let fileDir = context.filesDir;
let filePath = fileDir + '/' + this.fileName;
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
let uri = fileUri.getUriFromPath(filePath);
let str: string = "欢迎使用文件预览\n" +
"文件预览通常用于各种类型的文件,包括文本文档、图像、音频和视频文件。\n" +
"文件预览可以帮助用户快速查看文件内容。";
let writeLen = fs.writeSync(file.fd, str);
console.info("write data to file succeed and size is:" + writeLen);
fs.closeSync(file);
let result = await filePreview.canPreview(context, uri);
if (result) {
let previewInfo: filePreview.PreviewInfo = {
title: this.fileName,
uri: uri,
mimeType: 'text/plain'
}
filePreview.openPreview(getContext(this), previewInfo);
} else {
promptAction.showToast({
message: '文件不可预览'
});
}
})
}
.width('100%')
}
.height('100%')
}
}
