收藏
回答

wx.downloadFile()下载bin文件时无法下载

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

iOS 7.0.4

wx.downloadFile()下载bin文件时无法下载

报错:fail data is empty


wx.downloadFile({

url: url,

filePath: localPath,

success(res) {

if (res.statusCode === 200) {

Fs.readFile(localFrimPath, that.callback);

}

},

fail(res) {

console.log(res);

}

});


指定filePath或者不指定都再现。


安卓不再现,

iOS7.0.3不再现,  同一台iOS手机升级到7.0.4后也会再现。


遇到的问题有这几个条件:

0,只有 iOS 7.0.4的设备能复现(已测试5台,并且同一台iOS手机升级到7.0.4后也会复现);

1,iOS 7.0.4的设备,pdf zip txt文件,无论cos上设置私有还是公开,无论带不带签名参数都能下载;

2, iOS 7.0.4的设备,bin文件内不包含特殊字符(上面的test.bin文件内的字符)时,无论cos上设置私有还是公开,无论带不带签名参数都能下载;

3,iOS 7.0.4的设备,同一个bin文件(包含特殊字符),cos上设置为公开读私有写,使用默认的不带参数的链接下载时能正常下载;使用cos的sdk带签名参数拼接url后不能下载;

4, 3,内在小程序里不能下载的url,拷贝到浏览器之后是能正常下载的


所以我认为是小程序接口的问题。



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

1 个回答

  • ShinBlueCat
    ShinBlueCat
    05-20

    能否提供一个可以复现的文件url,我们这里无法复现

    05-20
    赞同
    回复 10
    • 关耳白告予
      关耳白告予
      05-21

      你好,

      我们确认了之前的bin文件内有一些特殊的编码?

      我是负责小程序的,不太懂bin文件,我把大部分内容删了。把能一部分再现的特殊字符留下来了。


      https://tempfile4cmodelinshanghai-1256798700.cos.ap-shanghai.myqcloud.com/top_test/test.bin


      麻烦你们试一下

      05-21
      回复
    • ShinBlueCat
      ShinBlueCat
      05-22回复关耳白告予

      我们这里测了这个文件是ok的。会不会是网络原因?。

      05-22
      回复
    • 关耳白告予
      关耳白告予
      05-23回复ShinBlueCat

      你好。我发现是带了cos的鉴权参数的原因。但是为什么只在iOS 7.0.4上发生呢?


      05-23
      回复
    • 关耳白告予
      关耳白告予
      05-23回复ShinBlueCat

      而且还只是bin文件会这样、pdf zip txt都是正常地

      05-23
      回复
    • ShinBlueCat
      ShinBlueCat
      05-23回复关耳白告予

      返回的content-length=0的情况就会报这个,具体为什么可能就要看你的服务器配置了

      05-23
      回复
    查看更多(5)