HarmonyOS 用户从APP下载文件到Download目录,正确的流程
下载文件到Download目录,是先去获取download目录还是先去下载文件,在先下载文件到缓存目录之后,复制到Download目录,但是提示copy file failed Operation not permitted,我需要去申请什么权限吗
// 源码如下
Button("文件下载")
.fontWeight(FontWeight.Bold)
.onClick(()=>{
try {
let uri: string = '';
// 请确保 getContext(this) 返回结果为 UIAbilityContext
let context = getContext(this) as common.UIAbilityContext;
let localFilePath = getContext(this).tempDir + "/test.png"
request.downloadFile(context, {
url: 'http://192.168.70.138:7001/downloadFile',
filePath: localFilePath
}).then((downloadTask: request.DownloadTask) => {
downloadTask.on('complete', () => {
Log.info('download complete');
const documentViewPicker = new picker.DocumentViewPicker(context);
const documentSaveOptions = new picker.DocumentSaveOptions();
documentSaveOptions.pickerMode = picker.DocumentPickerMode.DOWNLOAD;
documentViewPicker.save(documentSaveOptions ).then((documentSaveResult: Array<string>) => {
uri = documentSaveResult[0];
Log.info('路径:' + uri);
// 将选中文件copy至cache目录下,文件名为cacheFile,这需要ohos.permission.READ_MEDIA与ohos.permission.WRITE_MEDIA权限
try {
let srcFile = fs.openSync(localFilePath);
let dstFile = fs.openSync(uri+ 'test.png', fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
fs.copyFileSync(srcFile.fd, dstFile.fd);
fs.closeSync(srcFile);
fs.closeSync(dstFile);
} catch (e) {
Log.info(`copy file failed ${e.message}`);
return;
}
console.info('documentViewPicker.save succeed and uri is:' + uri);
}).catch((err: BusinessError) => {
console.error(`Invoke documentViewPicker.save failed, code is ${err.code}, message is ${err.message}`);
})
})
}).catch((err: BusinessError) => {
Log.error(`Invoke downloadTask failed, code is ${err.code}, message is ${err.message}`);
});
} catch (error) {
let err: BusinessError = error as BusinessError;
Log.error(`Invoke downloadFile failed, code is ${err.code}, message is ${err.message}`);
}
})
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS DocumentViewPicker如何从网络下载文件到本地
1280浏览 • 1回复 待解决
HarmonyOS 下载文件的临时目录迁移到相册目录
1291浏览 • 1回复 待解决
HarmonyOS 如何下载文件到本地
1251浏览 • 1回复 待解决
HarmonyOS 下载文件到指定文件夹
2413浏览 • 1回复 待解决
HarmonyOS 下载文件到内部存储报错:401
1523浏览 • 1回复 待解决
HarmonyOS 如何下载pdf文件到公共目录,使用户可以看到
1034浏览 • 1回复 待解决
HarmonyOS 下载文件并保存到指定目录
1780浏览 • 1回复 待解决
应用从远程服务器下载文件的下载路径
3215浏览 • 1回复 待解决
HarmonyOS 通过网络下载的文件,能否写入系统Download目录
1175浏览 • 1回复 待解决
#鸿蒙通关秘籍# 在鸿蒙应用中下载文件时,如何从响应头信息中正确获取下载文件名并保存到本地?
933浏览 • 0回复 待解决
HarmonyOS下载文件报错
1715浏览 • 1回复 待解决
HarmonyOS 下载文件相关的demo
956浏览 • 1回复 待解决
如何使用接口下载文件
3255浏览 • 1回复 待解决
是否支持iframe下载文件?
1799浏览 • 1回复 待解决
如何查看HarmonyOS下载文件
1525浏览 • 1回复 待解决
HarmonyOS axios下载文件问题
1548浏览 • 1回复 待解决
HarmonyOS下载文件失败返回
1818浏览 • 1回复 待解决
HarmonyOS下载文件到沙盒时报错,13400001 : file operation error
4105浏览 • 1回复 待解决
request下载文件不能覆盖现有文件
2885浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何读取和复制下载目录下的文件到沙箱目录?
1526浏览 • 1回复 待解决
使用request下载文件的方式
2114浏览 • 1回复 待解决
HarmonyOS 如何监听下载文件的进度
1327浏览 • 1回复 待解决
HarmonyOS web下载文件点击无反应
1395浏览 • 1回复 待解决
HarmonyOS 如何保存一张远程图片到本地文件的公共目录的DOWNLOAD文件夹
1382浏览 • 1回复 待解决
下载文件打印乱码如何修改
1418浏览 • 1回复 待解决




















参考: