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下载文件的方式
835浏览 • 1回复 待解决
request下载文件不能覆盖现有文件
1856浏览 • 1回复 待解决
HarmonyOS " @ohos.request :request.downloadFile 下载文件无反应"
128浏览 • 1回复 待解决
HarmonyOS下载文件到沙盒时报错,13400001 : file operation error
2050浏览 • 1回复 待解决
HarmonyOS 使用request.downloadFile,下载功能,报错13400001
71浏览 • 1回复 待解决
HarmonyOS使用@ohos.request下载文件功能迁移至子线程后下载文件大小为0
410浏览 • 1回复 待解决
错误码:request.agent.State.FAILED怎么处理,request下载文件异常
428浏览 • 1回复 待解决
HarmonyOS request下载文件后使用fs.listFileSync无法查找到
32浏览 • 1回复 待解决
HarmonyOS下载文件报错
544浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS Next中通过Request模块下载文件?
178浏览 • 1回复 待解决
如何查看HarmonyOS下载文件
382浏览 • 1回复 待解决
HarmonyOS下载文件失败返回
546浏览 • 1回复 待解决
HarmonyOS 使用http下载文件异常
57浏览 • 1回复 待解决
如何使用接口下载文件
2136浏览 • 1回复 待解决
是否支持iframe下载文件?
832浏览 • 1回复 待解决
HarmonyOS 如何下载文件到本地
61浏览 • 1回复 待解决
HarmonyOS 下载文件到指定文件夹
38浏览 • 1回复 待解决
HarmonyOS 如何监听下载文件的进度
79浏览 • 1回复 待解决
HarmonyOS http请求下载文件报错2300023
74浏览 • 1回复 待解决
下载文件打印乱码如何修改
392浏览 • 1回复 待解决
HarmonyOS web下载文件点击无反应
128浏览 • 1回复 待解决
HarmonyOS 使用ArkWeb下载文件时,保存文件失败
53浏览 • 1回复 待解决
HarmonyOS 下载文件并保存到指定目录
116浏览 • 1回复 待解决
http请求中下载文件报错2300023
2540浏览 • 1回复 待解决
HarmonyOS 关于下载文件采用POST请求方式
77浏览 • 1回复 待解决
13400001该错误码表示文件操作异常,可能原因文件权限不足。可以检查文件权限是否合理。上述使用的路径是公共目录的uri,当前request仅支持下载到应用的沙箱目录下,demo里的uri改成沙箱目录就可以正常保存了。