HarmonyOS 鸿蒙Next PDF文件读取内容为空(%PDF-1.5)
HarmonyOS 鸿蒙Next PDF文件读取内容为空(%PDF-1.5)
表现:下载的pdf文件读取内容只有一个’%PDF-1.5’;
具体代码:
dowLoadFile(data:DownloadParam,handler: CompleteHandler,preview: boolean){
data = JSON.parse(data+’’) as DownloadParam
let context = getContext(this) as common.UIAbilityContext;
let fileName = new Date().getTime()+getExtension(data.name)
let filesDir = context.filesDir;
let filePath = filesDir + ‘/’+fileName
try {
fs.accessSync(filePath);
fs.unlinkSync(filePath);
} catch (err) {
}
try {
this.loaded=false
request.downloadFile(context.getApplicationContext(), {
url: data.url,
filePath: filePath,
enableMetered:true
}).then((downloadTask: request.DownloadTask) => {
downloadTask.on(‘progress’, (receivedSize: number, totalSize: number)=>{
console.info(“downloadFile-receivedSize:” + receivedSize + " totalSize:" + totalSize);
});
downloadTask.on(‘complete’, async () => {
this.loaded=true
console.info(‘downloadFile-complete’);
let file = fs.openSync(filePath, fs.OpenMode.READ_WRITE);
let arrayBuffer = new ArrayBuffer(7424361);
let readLen = fs.readSync(file.fd, arrayBuffer);
let buf = buffer.from(arrayBuffer, 0, readLen);
console.info(downloadFile-file:${readLen}_${buf.toString()}
);
fs.closeSync(file);
const taskInfo = await downloadTask.getTaskInfo();
console.info(‘downloadFile-task-complete:’+status: ${taskInfo.status}
);
this.doPreview(fileName,filePath)
})
}).catch((err: BusinessError) => {
this.loaded=true
console.error(‘downloadFile-err-’,JSON.stringify(err));
});
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(Invoke downloadFile failed, code is ${err.code}, message is ${err.message}
);
}
可以看到读取文件输出:
实际上的文件有7M:
;;;;;;下载图片之内的资源则不会出现这种情况。
顺便请教一下大家,我希望下载文件,保存到文件系统中,可以通过我的文件查找到应该怎么操作呢;下载下来后选择打开方式打开有有什么API可以实现了
1 回复
针对您提到的HarmonyOS鸿蒙系统中Next PDF文件读取内容为空(%PDF-1.5)的问题,这通常表明PDF文件可能在解析或读取过程中遇到了障碍。以下是一些可能的原因及检查点:
-
文件损坏:PDF文件可能在传输或保存过程中损坏,导致无法正确解析内容。尝试用其他PDF阅读器打开,确认文件是否完整。
-
编码或格式问题:某些PDF文件可能使用了特殊的编码或格式,而您的应用程序可能不完全支持。检查应用程序是否支持PDF 1.5版本,或尝试更新至最新版本。
-
权限限制:文件可能设置了访问权限,限制了内容的读取。确认您是否有足够的权限访问该文件。
-
系统或应用Bug:鸿蒙系统或使用的PDF阅读应用可能存在bug,导致文件解析失败。查看系统及应用更新,确保已安装最新版本。
-
内存或资源不足:系统资源紧张时,文件解析可能受影响。尝试关闭其他不必要的应用,释放资源后重试。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。