HarmonyOS 鸿蒙Next 文件下载 request.agent.create

发布于 1周前 作者 phonegap100 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 文件下载 request.agent.create

一直报错 file operation error 13400001  如何解决

//创建目录
const pdfDir = getContext().filesDir + '/downloadPdf’
let isExistFile = fs.accessSync(pdfDir)
if (!isExistFile) {
fs.mkdirSync(pdfDir)
}
const fileName = 'No2.pdf’
const filePath = pdfDir + ‘/’ + fileName
//fileIo.openSync(filePath, fileIo.OpenMode.CREATE | fileIo.OpenMode.READ_WRITE)
request.agent.create(getContext(), {
url: ‘https://h5static.kuwo.cn/www/kw-www/NetworkCultureBusinessLicense20242541122.pdf’,
action: request.agent.Action.DOWNLOAD,
overwrite: true,
gauge: true,
saveas: filePath
}, (error: BusinessError, task: request.agent.Task) => {
console.log(‘callback’);
if (error) {
//error file operation error 13400001
console.log(‘error’, error.message, error.code)
return
}

this.taskid = task.tid
task.on(‘progress’, (progress: request.agent.Progress) => {
this.downloadProgress = Math.ceil(progress.processed * 100 / progress.sizes[0])
})
task.on(‘completed’, () => {
this.downloadProgress = 100
promptAction.showToast({
message: ‘文件下载完毕’
})
})
task.on(‘failed’, (progress: request.agent.Progress) => {
console.info(‘upload task failed.’);
})
})

7 回复
清空模拟器的用户数据,或者新建一个试试呢

也不行,等等真机再调试吧

在最新的5.0.5.200的IDE上下载最新的模拟器镜像,应该已经解决这个问题了https://developer.huawei.com/consumer/cn/download/

楼主,在这个回调里 (error: BusinessError, task: request.agent.Task)应该要调用 task.start(); 才能启动下载任务吧;我这边用真机试过了,可以成功下载到该沙箱路径下

因为这个回调里面task返回的是undefined 所以我就没有加上task.start()
就先看看为啥报错13400001 看来应该是模拟器和真机的区别吧 我现在用的是模拟器
之前还有web加载沙箱路径下的文件 模拟器第一次加载就是黑屏 再次加载才能正常显示 后来我就提工单 把Demo代码给他们了 得到的回复是 真机测试没有问题 建议买一部手机

模拟器和真机确实还是会有些能力的差异

在HarmonyOS鸿蒙系统中,request.agent.create 通常用于创建网络请求代理,以处理文件下载等网络操作。这是一个较为底层的API调用,通常在使用系统提供的网络请求框架时会用到。

如果你正在尝试使用request.agent.create来创建一个用于文件下载的代理,你需要确保你已经正确引入了相关的网络请求模块,并且你的应用已经获得了必要的网络权限。

以下是一个简化的步骤说明,用于指导你如何创建一个下载请求的代理:

  1. 引入网络模块:确保你的代码中已经引入了HarmonyOS提供的网络请求模块。

  2. 创建代理:使用request.agent.create方法创建一个网络请求的代理实例,配置好必要的请求参数,如URL、请求头等。

  3. 发送请求:通过代理实例发送GET请求,以触发文件下载。

  4. 处理响应:在响应回调中处理下载的文件数据,可以选择保存到本地存储。

  5. 错误处理:添加错误处理逻辑,以应对网络问题或服务器错误。

请注意,具体的实现细节可能会因你的项目配置和HarmonyOS的版本而有所不同。如果以上步骤无法解决你的问题,可能是由于你的项目配置或代码实现有误。此时,你可以参考HarmonyOS的官方文档,或直接联系官网客服以获取更专业的帮助。官网地址是:https://www.itying.com/category-93-b0.html

回到顶部