HarmonyOS鸿蒙Next中下载文件报错,13400001
HarmonyOS鸿蒙Next中下载文件报错,13400001 最近在测试服务器下载功能,报错13400001,看了报错没找到问题,描述太模糊了

代码感觉也没有问题,下面是我的这部分代码
const getObject = async () => {
const result = obsClient.createSignedUrlSync({
Method: HttpMethodType.GET,
Bucket: bucketName,
Key: objectKey, //指定下载对象名字
Expires: 3600
})
let downloadTask: request.DownloadTask
let downloadConfig: request.DownloadConfig = {
url: result.SignedUrl,
filePath: `${context.filesDir}/downloadresoreces/test.jpg`,
}
//下载指定config资源
try {
request.downloadFile(getContext(), downloadConfig).then((data: request.DownloadTask) => {
downloadTask = data
downloadTask.on('progress', (uploadedSize: number, totalSize: number) => {
console.info('Upload delete progress notification.' + 'totalSize:' + totalSize +
'uploadedSize:' + uploadedSize)
})
let CompleteCallback = () => {
const statusCode = downloadTask.getTaskInfo()
console.info('Download task completed.')
}
downloadTask.on('complete', CompleteCallback)
let FailCallback = (err: number) => {
const statusCode = downloadTask.getTaskInfo()
console.error(`Failed to download the task. Code: ${err}`)
}
downloadTask.on('fail', FailCallback)
})
} catch (err) {
console.error(`Failed to request the download. Code: ${err.code}, message: ${err.message}`)
}
有没有大神看下问题在哪
更多关于HarmonyOS鸿蒙Next中下载文件报错,13400001的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我试了一下你的代码,文件夹名有问题
我把downloadresoreces换成了download文件夹名可以下载
这个不在错误码的文档里,在常见问题里有解释,看下下面这个文档的场景三,文件名过长也会导致此错误
更多关于HarmonyOS鸿蒙Next中下载文件报错,13400001的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,下载文件报错13400001通常表示网络连接异常或文件服务器不可访问。请检查设备的网络设置,确保网络连接稳定。同时,确认下载链接的有效性,以及设备是否有足够的存储空间。
错误码13400001通常表示网络请求失败,具体是网络不可用或URL格式错误。根据你的代码和截图,问题很可能出在以下几个方面:
-
URL有效性:
result.SignedUrl生成的预签名URL可能已过期或格式不正确。请确保:- URL在有效期内(你设置了3600秒)。
- 直接将该URL粘贴到浏览器或Postman中测试,确认能正常下载文件。
-
网络权限:确保应用已声明网络权限。在
module.json5文件中检查是否有以下配置:"requestPermissions": [ { "name": "ohos.permission.INTERNET" } ] -
文件路径问题:
context.filesDir可能指向应用沙箱目录,但路径拼接需确保目录存在。建议:- 使用
fs.mkdirSync()先创建/downloadresoreces/目录(注意拼写,是"resources"吗?)。 - 或改用
ohos.file.fs接口的getFileDir()明确获取下载目录。
- 使用
-
请求配置:
downloadConfig可补充header字段,若服务器有特殊要求(如鉴权)。但预签名URL通常已包含鉴权信息。
快速排查步骤:
- 在
try-catch的catch块或FailCallback中打印完整的错误信息(包括err.message)。 - 检查设备网络连接是否正常。
- 验证预签名URL是否能独立访问。
从截图看,错误发生在请求阶段,优先聚焦URL和网络权限。

