可以参考如下代码文件下载downloadSave() { let context = getContext(this) as common.UIAbilityContext; let filePath = context.filesDir+"/test5.xlsx"; let url ="在线表格文件链接名.xlsx" try { request.downloadFile(context, { url : url, filePath: filePath }).then((data:request.DownloadTask)=>{ let downloadTask: request.DownloadTask = data; downloadTask.on('complete',()=>{ console.info('download complete'); let file = fs.openSync(filePath,fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); let arrayBuffer = new ArrayBuffer(4096000); let readLen = fs.readSync(file.fd, arrayBuffer); let buf = buffer.from(arrayBuffer,0,readLen); console.info(`content of File: ${buf.toString()}`); let writeLen = fs.writeSync(file.fd, arrayBuffer); fs.closeSync(file); const documentSaveOptions = new picker.DocumentSaveOptions(); // 创建文件管理器选项实例 documentSaveOptions.newFileNames = ["1.xlsx"]; // 保存文件名(可选) documentSaveOptions.fileSuffixChoices = ['xlsx']; // 保存文件类型(可选) let uris: Array<string> = []; const documentViewPicker = new picker.DocumentViewPicker(); // 创建文件选择器实例 documentViewPicker.save(documentSaveOptions).then((documentSaveResult: Array<string>) => { uris = documentSaveResult; console.info('documentViewPicker.save to file succeed and uris are:' + uris); let uri = uris[0]; let file2 = fs.openSync(uri,fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE); let writeLen2 = fs.writeSync(file2.fd, arrayBuffer); fs.closeSync(file2); }).catch((err: BusinessError) => { console.error(`Invoke documentViewPicker.save failed, code is ${err.code}, message is ${err.message}`); }) }) let failCallback = () => { console.info('Download task fail.'); }; downloadTask.on('fail', failCallback); }).catch((err:BusinessError)=>{ console.error(`downLoadFileTask failed, code is ${err.code}, message is ${err.message}`); }); } catch (error){ console.error(`downLoadFileTask failed, code is ${error.code}, message is ${error.message}`); } }文件预览demo 参考:https://gitee.com/harmonyos-cases/cases/tree/master/CommonAppDevelopment/feature/webpdfviewer
可以参考如下代码
文件下载
文件预览demo 参考:https://gitee.com/harmonyos-cases/cases/tree/master/CommonAppDevelopment/feature/webpdfviewer