小程序image src 无法使用选中的图片地址

更多Java架构师核心资料持续更新中https://github.com/kepeihong/data.git,内推阿里请查看链接

获得的临时图片,或者保存后的图片,如何直接在<image/>组件显示出来? **

已知的方法:先上传到服务器,然后用http://服务器/abc.jpg的链接显示。


能不能不上传到服务器,直接在用wxfile://xxx 直接或经过处理在<image />组件显示呢?


网友说:

你在data那里设个图片路径的变量,然后使用setData把临时路径更新到变量里,在在模板中的image里面使用

我:

我这样做了,不过这个临时路径自动变成如下http://


文档明明写着可以,也许是腾讯自己的bug吧,没处理好

总结与猜测

假设小程序已经发布,提供用户使用。
用户在使用时,想替换下自己个人中心的“背景图片”(假设小程序提供这功能)。


他会这样操作:

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


但是!!!

官方在这个环节出现了bug,没处理好这个上传到自己服务器的链接,所以没显示!!


猜测2:

通过如下官方接口的注释及实验猜测:

<image />只可显示http://路径的图片
setData“临时图片路径数据”到<image />的src,他也会自动上传到微信服务器转换成http://路径的图片,然后再显示(这点官方文档没说!~)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ke&chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值