HarmonyOS鸿蒙Next中云调试(真机调试)PDF kit 报错:Code: 13900002, message: No such file or directory
HarmonyOS鸿蒙Next中云调试(真机调试)PDF kit 报错:Code: 13900002, message: No such file or directory 代码按照官方的代码复制粘贴了预览PDF文档-PdfView预览组件-PDF Kit(PDF服务)-应用服务 - 华为HarmonyOS开发者
然后我在云手机中调用PDF kit时文件打开失败,获取控制台信息显示:Code: 13900002, message: No such file or directory。但是我明明已经把文件放在了项目的rawfile文件夹下了,路径是:rawfile/pdfs/UserAgreement.pdf。然后我在代码的filePath后面加了控制台打印语句,结果得到:filePath:/data/storage/el2/base/haps/entry/files/pdfs/UserAgreement.pdf。也就是说代码是获取沙箱路径的。但是我没搞懂官方说的复制到沙箱路径是什么意思,是要打包app后把pdf在粘贴一份?请高人指点
更多关于HarmonyOS鸿蒙Next中云调试(真机调试)PDF kit 报错:Code: 13900002, message: No such file or directory的实战教程也可以访问 https://www.itying.com/category-93-b0.html
复制文件到沙箱是指读取rawfile文件夹下的文件并写入沙箱路径下,如:
// test.pdf是位于resources/rawfile目录下的文件
getContext().resourceManager.getRawFileContent('test.pdf', (_err, value) => {
let myBuffer: ArrayBufferLike = value.buffer
let filePath = getContext().filesDir + 'test.txt';
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
let writeLen = fs.writeSync(file.fd, myBuffer);
console.info(`write data to file succeed and size is:${writeLen}`);
fs.closeSync(file);
})
更多关于HarmonyOS鸿蒙Next中云调试(真机调试)PDF kit 报错:Code: 13900002, message: No such file or directory的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
该错误通常由文件路径问题导致。请检查PDF文件路径是否正确,确保使用正确的沙箱路径访问方式。确认文件已成功下载至设备且具有读取权限。若使用绝对路径,需转换为应用沙箱内的有效路径。
在HarmonyOS Next中,云调试时遇到Code: 13900002错误通常是由于文件路径未正确映射到沙箱环境导致的。虽然您已将PDF文件放置在项目的rawfile目录下,但云调试环境需要显式将文件复制到沙箱路径才能访问。
请检查代码中是否使用了ResourceManager
的getRawFile
方法获取文件描述符,并通过ohos.file.fs
的API(如fs.copyFile
)将文件复制到沙箱路径(例如context.filesDir
)。云调试环境不会自动同步rawfile中的文件到设备沙箱,需在运行时手动处理文件复制。
确保复制操作在调用PDF kit之前完成,并使用复制后的沙箱路径(如/data/storage/el2/base/haps/entry/files/UserAgreement.pdf
)作为filePath参数。