收藏
回答

安卓端wx.downloadFile下载文件 400错误

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.downloadFile 客户端 7.0.4 2.6.4




如图, 我在小程序中使用wx.downloadFile下载服务器上的文件,开发工具中还有ios端都可以正常下载,而在安卓端就会出现图2中的错误,statusCode为400,请教各位该如何解决?代码如下:

wx.downloadFile({

url: fileUrl,

success(res) {

wx.hideLoading();

console.log("download file success");

console.log(res);


又测试了一下,朋友的小米手机就没问题,难道是我的红米note2太老了?目前怀疑是安卓版本的问题,6.0,5.1的不行,8.0的都没问题。求大神给一个明确解答



最后一次编辑于  2019-05-05
回答关注问题邀请回答
收藏

3 个回答

  • 晒太阳的熊
    晒太阳的熊
    2020-11-03

    我这边遇到的问题是:小程序 真机 下载文件 400状态码,但开发者工具可以

    原因:我下载的链接的参数里有=号等特殊字符,开发者工具会对url里的参数进行url编码,但是我通过真机调试查看日志,发现手机不会对参数进行url编码。

    解决:手动将url里的参数进行url编码:

    url += `?download_info=${encodeURIComponent(attachment.download_info)}`

    encodeURIComponent()这个方法是小程序提供的,直接调用这个方法就可以,连引入都不需要 

    2020-11-03
    有用
    回复
  • Daocun
    Daocun
    2020-01-17

    我在安卓端测试也遇到了这个问题。后来发现是因为URL中的文件名包含中文字符。解决方法是先用encodeURI()或encodeURIComponent()方法将URL里的中文都进行编码,就可以了。

    2020-01-17
    有用
    回复
  • 熊大?喵~
    熊大?喵~
    2019-05-05

    请求里的header,设置成header: { "Content-Type": "application/text"},试一下呢?


    2019-05-05
    有用
    回复 4
登录 后发表内容