saveFile(fileUrl: string, fileName: string, callback: string) {
Logger.error(`StorageBridge => saveFile(${fileUrl},${fileName},${callback})`)
const fileTempPath = this.context.filesDir + '/' + fileName
Logger.debug(`StorageBridge => saveFile fileTempPath is : ${fileTempPath}`)
const options = new picker.DocumentSaveOptions()
options.newFileNames = [fileName]
const documentPicker = new picker.DocumentViewPicker()
documentPicker
.save(options)
.then(async (result) => {
Logger.debug(`StorageBridge => saveFile DocumentViewPicker result is : ${result}`)
request
.downloadFile(this.context, { url: fileUrl, filePath: result[0] })
.then((downloadTask) => {
downloadTask.on('complete', () => {
Logger.debug(`StorageBridge => 文件下载成功`);
})
downloadTask.on('fail', (err: number) => {
Logger.error(`StorageBridge => 文件下载失败:${err}`);
})
})
.catch((err: BusinessError) => {
Logger.error(`StorageBridge => 文件下载异常:${JSON.stringify(err)}`);
})
})
.catch((err: BusinessError) => {
Logger.error(`StorageBridge => saveFile DocumentViewPicker save异常:${JSON.stringify(err)}`);
})
}
是不允许直接下载到内部存储吗?
文件管理所展示目录仅能通过picker保存文件进去,参考:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/save-user-file-V5
//如下代码可以保存一个空图片到文件管理器,获取空文件路径之后把应用沙箱里的图片复制到空文件