HarmonyOS 文件下载,预览

我这边下载文件保存到cacheDir目录下,此时需要预览,应该怎么传这个路径呢 filePath = getContext(this).cacheDir + params.fileName;

HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

可参考此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 cachedir = context.cacheDir;
let file = fs.openSync(cachedir + '/test.txt', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
console.log('----------filesDir:' + cachedir)
fs.writeSync(file.fd, 'upload file test');  //以同步方法将数据写入文件
fs.closeSync(file);
// 获取文件的沙箱路径
let pathInSandbox = cachedir + "/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%')
  }
}
分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS 下载到本地文件预览问题
70浏览 • 1回复 待解决
基于WebDownloadDelegate的PDF下载预览
569浏览 • 1回复 待解决
HarmonyOS 怎么预览文件
39浏览 • 1回复 待解决
HarmonyOS PDF文件预览
66浏览 • 1回复 待解决
HarmonyOS 文件预览失败
45浏览 • 1回复 待解决
HarmonyOS 文件预览问题
100浏览 • 1回复 待解决
HarmonyOS 文件预览功能失败
93浏览 • 1回复 待解决
如何使用预览接口进行文件预览
558浏览 • 1回复 待解决
HarmonyOS 文件下载相关
92浏览 • 1回复 待解决
HarmonyOS 文件下载问题
119浏览 • 1回复 待解决
HarmonyOS 图片文件下载
178浏览 • 1回复 待解决
HarmonyOS 文件或者图片的下载
44浏览 • 1回复 待解决
HarmonyOS 文件下载保存问题
197浏览 • 1回复 待解决
HarmonyOS下载文件报错
558浏览 • 1回复 待解决
HarmonyOS web组件预览PDF文件问题
78浏览 • 1回复 待解决
HarmonyOS 是否支持pdf、Word文件预览
394浏览 • 1回复 待解决
HarmonyOS 如何下载文件到本地
71浏览 • 1回复 待解决
HarmonyOS 文件下载的几个问题
86浏览 • 1回复 待解决