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,拷贝到浏览器之后是能正常下载的
所以我认为是小程序接口的问题。
能否提供一个可以复现的文件url,我们这里无法复现
你好,
我们确认了之前的bin文件内有一些特殊的编码?
我是负责小程序的,不太懂bin文件,我把大部分内容删了。把能一部分再现的特殊字符留下来了。
https://tempfile4cmodelinshanghai-1256798700.cos.ap-shanghai.myqcloud.com/top_test/test.bin
麻烦你们试一下
我们这里测了这个文件是ok的。会不会是网络原因?。
你好。我发现是带了cos的鉴权参数的原因。但是为什么只在iOS 7.0.4上发生呢?
而且还只是bin文件会这样、pdf zip txt都是正常地
返回的content-length=0的情况就会报这个,具体为什么可能就要看你的服务器配置了