HarmonyOS鸿蒙开发如何读取工程目录中的非图片资源文件(pdf,word,txt等等)的uri

尝试

复制代码
context.filesDir; // 获取沙箱路径
context.cacheDir
context.tempDir
context.databaseDir
context.preferencesDir
context.bundleCodeDir
context.distributedFilesDir
context.resourceDir

这些里面是找不到项目目录中的资源文件的

只能以二进制获取

而且文件必须保存在特定目录下,以yyyy.pdf为例

/src/main/resources/rawfile/yyyy.pdf

然后通过资源管理方式读取

需要引入的头文件有

import { filePreview } from '@kit.PreviewKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { resourceManager } from '@kit.LocalizationKit';
import { fileIo as fs, fileUri } from '@kit.CoreFileKit';
import { promptAction } from '@kit.ArkUI';

然后 读取文件

    let uiContext = getContext(this);
      let name:string = "yyyy.pdf";
      let fileName: string = name;
      let ssd:resourceManager.RawFileDescriptor = uiContext.resourceManager.getRawFdSync(name);
      uiContext.resourceManager.getRawFileContent(name, (error: BusinessError, value: Uint8Array) => {
        if (error != null) {
          console.error("error is " + error);
        } else {

            //这里获取到文件二进制数据 然后进行下一步操作
        }
      });
    } catch (error) {

    }

将文件写入沙盒路径获取uri

        let context = getContext(this);
        let fileDir = context.filesDir; // 获取沙箱路径


        let filePath = fileDir + '/' +  fileName;
        let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); // 创建文件
        let uri = fileUri.getUriFromPath(filePath); // 获取uri

        let writeLen = fs.writeSync(file.fd, value.buffer); // 写入文件
        console.info("write data to file succeed and size is:" + writeLen);
        fs.closeSync(file);

uri成功得到

相关推荐
lqj_本人36 分钟前
鸿蒙next版开发:相机开发-元数据(ArkTS)
数码相机·华为·harmonyos
SameX2 小时前
初识 HarmonyOS Next 的分布式管理:设备发现与认证
前端·harmonyos
楚疏笃3 小时前
鸿蒙学习生态应用开发能力全景图-开发者支持平台(5)
学习·华为·harmonyos
v'sir3 小时前
POI word转pdf乱码问题处理
java·spring boot·后端·pdf·word
鸿蒙程序媛3 小时前
【鸿蒙开发】第五章 ArkTS语言UI范式-UI相关的装饰器
harmonyos
棱角~~3 小时前
10款PDF合并工具讲解与推荐!!!
人工智能·经验分享·其他·pdf·学习方法
数据智研3 小时前
【数据分享】空间天气公报(2004-2021)(又名太阳数据活动公报) PDF
大数据·pdf
亦世凡华、10 小时前
【HarmonyOS】鸿蒙系统在租房项目中的项目实战(一)
经验分享·harmonyos·harmonyos next·arkui·鸿蒙开发
网络安全指导员13 小时前
恶意PDF文档分析记录
网络·安全·web安全·pdf
Swift社区13 小时前
如何构建安全可靠的 HarmonyOS 应用
harmonyos·arkts·arkui