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> 
<ignore_js_op>

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

wx.downloadFile问题的更多相关文章

  1. 微信小程序把玩(三十一)wx.uploadFile(object), wx.downloadFile(object) API

    原文:微信小程序把玩(三十一)wx.uploadFile(object), wx.downloadFile(object) API 反正我是没有测通这两个API!!!!不知道用的方式不对还是其他的!! ...

  2. [技术博客]使用wx.downloadfile将图片下载到本地临时存储

    目录 目标 代码展示 重点讲解 目标 在上一篇技术博客中,我们生成的海报中包含图片,这些图片是存储到服务器上的,而canvas的drawimage函数只能读取本地文件,因此我们在drawCanvas之 ...

  3. wx.getImageInfo和wx.downloadFile下载用户头像报错(小程序canvas以及小程序图片下载部分)

    我先上图 之前我们后台配置的 downloadFile 合法域名是 https://wx.qlogo.cn,   用了好久都没出问题,  前段时间,  用户反馈  分享海报,  用户头像出不来!!!! ...

  4. 【微信小程序】调用wx.request接口需要注意的问题

    写在前面 之前写了一篇<微信小程序实现各种特效实例>,上次的小程序的项目我负责大部分前端后台接口的对接,然后学长帮我改了一些问题.总的来说,收获了不少吧! 现在项目已经完成,还是要陆陆续续 ...

  5. 【小程序】调用wx.request接口时需要注意的问题

    写在前面 之前写了一篇<微信小程序实现各种特效实例>,上次的小程序的项目我负责大部分前端后台接口的对接,然后学长帮我改了一些问题.总的来说,收获了不少吧! 现在项目已经完成,还是要陆陆续续 ...

  6. 微信小程序wx.request接口

    微信小程序wx.request接口 wx.request是小程序客户端与服务器端交互的接口 HTTPS 请求 一个微信小程序,只能同时(同时不能大于5个)有5个网络请求 wx.request(OBJE ...

  7. wx小程序用canvas生成图片流程与注意事项

    1.需要画入canvas的 图片都需要先缓存到本地 let ps = [] ps.push(that.loadImageFun(this.statusInfo.avatar_url, "he ...

  8. 调用wx.request接口时需要注意的几个问题

    写在前面 之前写了一篇<微信小程序实现各种特效实例>,上次的小程序的项目我负责大部分前端后台接口的对接,然后学长帮我改了一些问题.总的来说,收获了不少吧! 现在项目已经完成,还是要陆陆续续 ...

  9. 小程序安卓端播放不了音频解决方法wx.createInnerAudioContext()

    在小程序播放音频时,使用组件wx.createInnerAudioContext(),安卓端无法播放音频. 我的情况:播放服务器上传来的音频,格式为mp3.首先查看你的格式是否符合文档要求 在安卓端进 ...

随机推荐

  1. day22 Pythonpython 本文sys模块

    一.sys模块 用来提供对Python解释器相关的操作 sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.versio ...

  2. oracle 12c 12.1.0.2.0 BUG 22562145

    Wed May 23 17:46:14 2018TT01: Standby redo logfile selected for thread 1 sequence 42251 for destinat ...

  3. 遇到的web请求错误码集合与解释

    302 临时移动.与301类似.但资源只是临时被移动.客户端应继续使用原有URI

  4. Mac安装使用MongoDB

    Mac 下安装 MongoDB 一般有两种方法,一种是通过源码安装,一种是直接使用 homebrew ,个人推荐使用 homebrew ,简单粗暴. 一.安装 homebrew : /usr/bin/ ...

  5. RabbmitMQ-组成及简单使用

    什么是MQ? MQ全程Message Queue,消息队列(MQ)是一种应用程序对应用程序的通信方法.MQ是消费者-生产者模型的典型代表.一端往消息队列中不断写消息而另一端则可以读取队列中的消息. R ...

  6. Auto-ML之自动化特征工程

    1. 引言 个人以为,机器学习是朝着更高的易用性.更低的技术门槛.更敏捷的开发成本的方向去发展,且Auto-ML或者Auto-DL的发展无疑是最好的证明.因此花费一些时间学习了解了Auto-ML领域的 ...

  7. 闭包----你所不知道的JavaScript系列(4)

    一.闭包是什么? · 闭包就是可以使得函数外部的对象能够获取函数内部的信息. · 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分. · 闭包就 ...

  8. C/C++中连接函数strcat的应用(简单讲解)

    有位学弟问到我如何将两个字符连接起来,想想java/python里面可以直接用+连接起来,可是C/C++里面有没有这么方便的做法呢? 答案是有的,在C语言的string.h库中有个神奇的函数叫做str ...

  9. 自动化批量管理工具salt-ssh - 运维小结

    根据以往运维工作中操作经验来说,当管理上百台上千台服务器时,选择一款批量操作工具是及其有必要的.早期习惯于在ssh信任关系的前提下做for;do;done循环语句的批量操作,后来逐渐趋于使用批量工具操 ...

  10. java注解XML

    用的是jdk自带的javax.xml.bind.JAXBContext将对象和xml字符串进行相互转换. 比较常用的几个: @XmlRootElement:根节点 @XmlAttribute:该属性作 ...