dcloudio / dcloudio/native-docs
uni.downloadFile对于某些可访问url会下载失败
- Dominant language
- No language data
- Stars
- 88
- Forks
- 75
- PR merge metrics
- No merged PRs in 30d
Description
**问题描述**
`uni.downloadFile`在下载某些url时会下载失败,此url是可正常访问的。
如:
```
https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fnimg.ws.126.net%2F%3Furl%3Dhttp%253A%252F%252Fdingyue.ws.126.net%252F2021%252F0825%252F3ffc70abj00qydrsr000vd000ju009pp.jpg%26thumbnail%3D650x2147483647%26quality%3D80%26type%3Djpg&refer=http%3A%2F%2Fnimg.ws.126.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1644072213&t=e8b75081be86cd0a1111616e9edbed06
```
下载结果会调用`success`,但拿到的`res`的`statusCode`是`400`。
如下:
```
{
errMsg: "downloadFile:ok",
statusCode: 400,
tempFilePath: "_doc/uniapp_temp_1641480749280/download/src=http%3A%2F%2Fnimg.ws.126.net%2F%3Furl%3Dhttp%253A%252F%252Fdingyue.ws.126.net%252F2021%252F0825%252F3ffc70abj00qydrsr000vd000ju009pp.jpg%26thumbnail%3D650x2147483647%26quality%3D80%26type%3Djpg&refer=http%3A%2F%2Fnimg.ws.126.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg"
}
```
看堆栈在底层的`plus.downloader`就`downloadedSize`为**0**。
```
{
downloadedSize: 0,
filename: "_doc/uniapp_temp_1641480749280/download/src=http%3A%2F%2Fnimg.ws.126.net%2F%3Furl%3Dhttp%253A%252F%252Fdingyue.ws.126.net%252F2021%252F0825%252F3ffc70abj00qydrsr000vd000ju009pp.jpg%26thumbnail%3D650x2147483647%26quality%3D80%26type%3Djpg&refer=http%3A%2F%2Fnimg.ws.126.net&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg"
headers: {Server: "JSP3/2.0.14", Date: "Thu, 06 Jan 2022 14:54:34 GMT", Content-Type: "image/jpeg", Content-Length: "24724", Connection: "keep-alive", …},
state: 4,
status: 400,
totalSize: 24724,
uuid: "dt671641480873633"
}
```
iOS可正常下载,估计是android的`plus.downloader`实现bug。
**预期结果**
可以正常下载
**系统信息:**
- 发行平台: 5+ App
- 操作系统: Android 7.0
- HBuilderX版本: 3.2.16
- uni-app版本: 3.2.16
- 设备信息: 红米note5
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.