HarmonyOS FilePreview无法打开沙箱内word文档

1、下载doc文件至应用沙箱目录

2、打开沙箱内doc文件打开失败

HarmonyOS
2024-12-23 16:29:46
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
zbw_apple

当前filePreview(文件预览)已支持pdf文件预览,office三件套预览待后期上线支持,当前建议将word转换为pdf格式进行预览。参考链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/preview-arkts-V5

预览沙箱中的文件可以参考以下demo:

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';

// let timeout = 0;
let context = getContext(this) as common.UIAbilityContext;
//新建一个本地应用文件
let filesDir = context.filesDir;
let file = fs.openSync(filesDir + '/test.txt', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
console.log('----------filesDir:' + filesDir)
fs.writeSync(file.fd, 'upload file test');  //以同步方法将数据写入文件
fs.closeSync(file);

// 获取文件的沙箱路径
let pathInSandbox = context.filesDir + "/test.txt";
console.log('----------pathInSandbox:'+ pathInSandbox)
// 将沙箱路径转换为uri
let uri = fileUri.getUriFromPath(pathInSandbox);
console.log('-----------uri:' + uri);

let uiContext = getContext(this);

filePreview.canPreview(uiContext, uri).then((result) => {    //根据文件的uri判断文件是否可预览 传入支持的文件类型且项目存在时会返回true
  console.info('canPreview. result = ' + result);
}).catch((err: BusinessError) => {
  console.error('canPreview failed, err = ' + err.message);
})

let fileInfo: filePreview.PreviewInfo = { // 文件预览信息,包含了文件标题名、uri以及文件类型(mimeType)
  title: 'test.txt',
  uri: uri,
  mimeType: 'text/plain' // 文件(夹)的媒体资源类型,如text/plain
};


@Entry
@Component
struct Index {
  @State message: string = '预览文件';

  build() {
    Row() {
      Column() {
        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%')
  }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
分享
微博
QQ
微信
回复
2024-12-23 19:42:55
相关问题
HarmonyOS 使用filePreview打开文件问题
295浏览 • 1回复 待解决
Image组件如何读入沙箱内的图片
3404浏览 • 1回复 待解决
HarmonyOS 在应用沙箱内创建目录失败
450浏览 • 1回复 待解决
HarmonyOS 如何使用API预览word文档
480浏览 • 1回复 待解决
HarmonyOS filePreview使用问题
730浏览 • 1回复 待解决
无法查看应用沙箱文件
978浏览 • 1回复 待解决
HarmonyOS filePreview预览txt提示预览失败
1388浏览 • 1回复 待解决
HarmonyOS web组件无法打开
409浏览 • 1回复 待解决
HarmonyOS RN无法打开调试
592浏览 • 1回复 待解决
HarmonyOS c++ api文档无法下载
512浏览 • 1回复 待解决
使用web无法打开HarmonyOS网址
769浏览 • 1回复 待解决
HarmonyOS APP无法打开相机拍照
859浏览 • 1回复 待解决
HarmonyOS IDE无法打开,一直崩溃
625浏览 • 1回复 待解决