HarmonyOS request 下载文件搭配 savebutton 报13400001
13400001, err.errInfo : set path permission fail
SaveButton({ icon: SaveIconStyle.FULL_FILLED, buttonType: ButtonType.Circle })
.iconColor(Color.White)
.iconSize(12)
.backgroundColor(Color.Transparent)
.borderStyle(BorderStyle.Solid)
.borderColor(Color.White)
.borderWidth(1)
.padding(12)
.borderRadius(100)
.onClick(async (_, result) => { //下载图片
if (result == SaveButtonOnClickResult.SUCCESS) {
try {
const context = getContext(this);
let helper = photoAccessHelper.getPhotoAccessHelper(context);
// onClick触发后10秒内通过createAsset接口创建图片文件,10秒后createAsset权限收回。
let uri = await helper.createAsset(photoAccessHelper.PhotoType.IMAGE, 'jpg');
let assetChangeRequest: photoAccessHelper.MediaAssetChangeRequest = photoAccessHelper.MediaAssetChangeRequest.createImageAssetRequest(context, fileUri);
let file = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
request.downloadFile(context, {
url: this.pictureData[this.currentIndex].pictureUrl,
enableMetered: true,
enableRoaming: true,
filePath: file.path
}, (error, result) => {
if (error) {
promptAction.showToast({ message: "保存失败" })
fs.close(file.fd)
return
}
result.on("complete", () => {
promptAction.showToast({ message: "保存成功" })
fs.close(file.fd)
})
result.on("fail", () => {
promptAction.showToast({ message: "保存失败" })
fs.close(file.fd)
})
})
} catch (error) {
console.error("error is " + JSON.stringify(error));
promptAction.showToast({ message: "保存失败" })
}
} else {
promptAction.showToast({ message: "获取权限失败" })
}
})
以上为示例代码
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
request下载文件不能覆盖现有文件
2087浏览 • 1回复 待解决
使用request下载文件的方式
1185浏览 • 1回复 待解决
HarmonyOS " @ohos.request :request.downloadFile 下载文件无反应"
621浏览 • 1回复 待解决
HarmonyOS下载文件到沙盒时报错,13400001 : file operation error
2703浏览 • 1回复 待解决
HarmonyOS使用@ohos.request下载文件功能迁移至子线程后下载文件大小为0
835浏览 • 1回复 待解决
HarmonyOS 使用request.downloadFile,下载功能,报错13400001
533浏览 • 1回复 待解决
错误码:request.agent.State.FAILED怎么处理,request下载文件异常
749浏览 • 1回复 待解决
HarmonyOS request下载文件后使用fs.listFileSync无法查找到
379浏览 • 1回复 待解决
HarmonyOS下载文件报错
910浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS Next中通过Request模块下载文件?
550浏览 • 1回复 待解决
是否支持iframe下载文件?
1114浏览 • 1回复 待解决
如何使用接口下载文件
2398浏览 • 1回复 待解决
HarmonyOS axios下载文件问题
222浏览 • 1回复 待解决
如何查看HarmonyOS下载文件
666浏览 • 1回复 待解决
HarmonyOS下载文件失败返回
922浏览 • 1回复 待解决
HarmonyOS 如何下载文件到本地
372浏览 • 1回复 待解决
下载文件打印乱码如何修改
679浏览 • 1回复 待解决
HarmonyOS web下载文件点击无反应
538浏览 • 1回复 待解决
HarmonyOS 使用http下载文件异常
459浏览 • 1回复 待解决
HarmonyOS 下载文件相关的demo
159浏览 • 1回复 待解决
HarmonyOS 使用ArkWeb下载文件时,保存文件失败
529浏览 • 1回复 待解决
HarmonyOS 下载文件到指定文件夹
378浏览 • 1回复 待解决
http请求中下载文件报错2300023
3011浏览 • 1回复 待解决
HarmonyOS 关于下载文件采用POST请求方式
495浏览 • 1回复 待解决
HarmonyOS 下载文件到内部存储报错:401
500浏览 • 1回复 待解决
13400001该错误码表示文件操作异常,可能原因文件权限不足。可以检查文件权限是否合理。上述使用的路径是公共目录的uri,当前request仅支持下载到应用的沙箱目录下,demo里的uri改成沙箱目录就可以正常保存了。