wx.downloadFile问题

时间:2024-11-05 10:34:32

http://www.wxapp-union.com/forum.php?mod=viewthread&tid=2988(copy)

这个问题,研究者甚少,以至于相关问题直到今天,仍然属于未知的领域,所以我准备集合所有的知识和资源,来说明这个问题;

本帖将不断聚合跟downloadFile有关的知识和内容,假如你有自己的经验,也欢迎分享出来,可以单独发帖也可以回复在这里,以便方便其他同学学习和参考!

官方文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-file.html#wxdownloadfileobject

假如讨论中有误,欢迎指正,以便修正!

提示一:
downloadFile,需要在小程序公众后台配置相应的downloadFile域名,否则会无法正常使用;

相关讨论一:
Q:我们在微信开发工具,选择图片后,尝试上传或下载图片 都没有任何反应,请问是什么原因?
A:最新版本的开发工具已经支持 uploadFile 和 downloadFile 的调试。

相关讨论二:问题:style的height:auto;不起作用怎么办?图片不能自动缩放

style的height:auto;不起作用怎么办?图片不能自动缩放

答:

我使用的是 getImageInfo 接口获取图片宽高然后算出高度渲染的,这里要注意图片如果过多需要使用请求队列,因为这个接口请求网络图片会调用 downloadFile,而小程序有 5 个并发的限制,另外要做好超时后显示错误图片的处理。

相关讨论三:求教怎么实现下载服务器上的图片到手机 
现在我用的是wx.downloadFile下载文件,然后用wx.saveFile保存到本地,但是发朋友圈的时候并不能识别出保存的图片文件,求教大神应该怎么实现,也就是发朋友圈的时候能够识别出通过小程序下载的图片文件,谢谢啦。
答:夏晓锋

应该用wx.previewImage,然后长按图片在保存到手机里。

相关讨论四:wx:file//地址不合法,下载到本地的音频文件无法播放在微信小程序中,可以通过 audio 组件播放网络音频资源。现在想将音频先下载到本地,之后不用每次都下载,提高用户体验。使用 wx.downloadFile 接口将音频文件下载后,无法通过 audio 组件或者 wx.playVoice 播放,提示地址URL不合法,请问有没有相应解决方案?如果“wx:file//”地址不合法,那么是不是所有用户下载的音频视频文件都会无法播放啊。请问是我方法错误,还是有更好的解决方案我们不知道

可以试试先download,再savefile,再调用playVoice可以

相关讨论五:
wx.downloadFile 或 wx.saveFile 能指定目标文件夹吗?

小程序 wx.downloadFile 或 wx.saveFile 能指定文件夹吗?‘
比如下载的图片,可以在手机图库中看到吗?

download和save均不可指定路径,因为它们会被保存到小程序的本地存储中

download下来的临时文件没有容量限制,退出后会被清除;save的永久存储限制为100M

另外,目前没有方法能保存到其他目录

相关讨论六:

ios设备上 视频无法播放(安卓可以播放,视频是先下载后存储)

先调用wx.downloadFile下载视频文件;
然后调用wx.saveFile存储文件到本地;
返回值都OK;然后设置video组件的src;
测试时候在 微信调试工具和安卓机器上正常,ios设备上返回值也都是ok,但是视频却是黑屏无法播放

问题解决了!微信小程序的视频播放 src 是可以 用外部动态链接的,不需要savefile

相关讨论七:

wx.downloadFile保存的文件在哪里 
<ignore_js_op>wx.downloadFile问题 
<ignore_js_op>wx.downloadFile问题

不需要关心下载到哪里(每个环境都不一样),只需要知道根据这个地址可以读取到文件即可