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: "获取权限失败" })
}
})
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
- 29.
- 30.
- 31.
- 32.
- 33.
- 34.
- 35.
- 36.
- 37.
- 38.
- 39.
- 40.
- 41.
- 42.
- 43.
- 44.
- 45.
- 46.
以上为示例代码
HarmonyOS
赞
收藏 0
回答 1
相关问题
request下载文件不能覆盖现有文件
2616浏览 • 1回复 待解决
使用request下载文件的方式
1667浏览 • 1回复 待解决
HarmonyOS " @ohos.request :request.downloadFile 下载文件无反应"
1168浏览 • 1回复 待解决
HarmonyOS下载文件到沙盒时报错,13400001 : file operation error
3380浏览 • 1回复 待解决
HarmonyOS 使用request.downloadFile,下载功能,报错13400001
1036浏览 • 1回复 待解决
HarmonyOS使用@ohos.request下载文件功能迁移至子线程后下载文件大小为0
1268浏览 • 1回复 待解决
错误码:request.agent.State.FAILED怎么处理,request下载文件异常
1078浏览 • 1回复 待解决
HarmonyOS request下载文件后使用fs.listFileSync无法查找到
761浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS Next中通过Request模块下载文件?
1211浏览 • 1回复 待解决
HarmonyOS下载文件报错
1373浏览 • 1回复 待解决
如何使用接口下载文件
2889浏览 • 1回复 待解决
是否支持iframe下载文件?
1523浏览 • 1回复 待解决
HarmonyOS 如何下载文件到本地
870浏览 • 1回复 待解决
如何查看HarmonyOS下载文件
1128浏览 • 1回复 待解决
HarmonyOS下载文件失败返回
1402浏览 • 1回复 待解决
HarmonyOS axios下载文件问题
1008浏览 • 1回复 待解决
HarmonyOS web下载文件点击无反应
1014浏览 • 1回复 待解决
下载文件打印乱码如何修改
1164浏览 • 1回复 待解决
HarmonyOS 使用http下载文件异常
1103浏览 • 1回复 待解决
HarmonyOS 下载文件相关的demo
670浏览 • 1回复 待解决
HarmonyOS 使用ArkWeb下载文件时,保存文件失败
1072浏览 • 1回复 待解决
HarmonyOS 下载文件到指定文件夹
997浏览 • 1回复 待解决
HarmonyOS 下载文件到内部存储报错:401
1040浏览 • 1回复 待解决
HarmonyOS 关于下载文件采用POST请求方式
1003浏览 • 1回复 待解决
http请求中下载文件报错2300023
3594浏览 • 1回复 待解决
13400001该错误码表示文件操作异常,可能原因文件权限不足。可以检查文件权限是否合理。上述使用的路径是公共目录的uri,当前request仅支持下载到应用的沙箱目录下,demo里的uri改成沙箱目录就可以正常保存了。