原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处
已知的方法:先上传到服务器,然后用http://服务器/abc.jpg的链接显示。
wxfile://xxx
直接或经过处理在<image />组件显示呢?你在data那里设个图片路径的变量,然后使用setData把临时路径更新到变量里,在在模板中的image里面使用
我这样做了,不过这个临时路径自动变成如下http://
假设小程序已经发布,提供用户使用。
用户在使用时,想替换下自己个人中心的“背景图片”(假设小程序提供这功能)。
->1:在相册选中图片(wx.chooseImage返回临时图片路径)
->2:点击“预览”(<image />
组件显示临时的图片路径)
->3:他感觉满意,点确定设置这张背景(wx.uploadFile上传到服务器持久化保存,下次登录也这样)
重点看第2步:(用临时图片路径显示到<image/>
组件的过程)
实验发现(见下图):
返回的是:
wxfile://tem_xxxxxxxxxxxxx
真正在<image />的src的调用的却是:
http://2109377157.debug.open.weixin.qq.com/pages/tes............jpg
1:setData({img_url:chooseImage得到的图片临时路径 })
官方文档已经说明,此临时图片路径可以在<image/>组件显示,但是<image/>只支持http://网络图片,不支持wxfile://的图片,怎么办呢?于是有了操作2
2:微信服务器把这个“临时路径”上传到他自己的服务器(http://2109377157.debug.open.weixin.qq.com)
3:<image />
组件的src再调用“他自己服务器刚上传的这个图片的http路径”
即:http://2109377157.debug.open.weixin.qq.com/pages/xx...........x.jpg
通过如下官方接口的注释及实验猜测:
<image />
只可显示http://路径的图片
setData“临时图片路径数据”到<image />的src,他也会自动上传到微信服务器转换成http://路径的图片,然后再显示(这点官方文档没说!~)
我是这样认为的,感觉各路大哥、大神就纠正!~