【项目需求】:在小程序中点击按钮,上传图片,并显示相应图片。之前写过在Vue上的图片上传,但是存在一些小问题,待改进。
【遇到的问题】:
本来微信官方文档已经提供了 wx:chooseImage
接口,只需要调用就可以很快实现图片上传显示。
但是,这里有一个非常严重的问题。使用wx:chooseImage
拿到的图片资源是一个临时图片(路径前缀为:wxfile://tmp 或者 http://tmp),如果小程序关闭,在微信开发者工具上问题不是特别明显,但是在真机上测试图片资源是显示不出来的,变成了一张空白图片。
百度一通,个人总结就是这个临时路径,在本次小程序启动期间是可以正常使用的,但是小程序关闭了,临时图片就会被回收清理。
【解决方法】:
这个结果显然不是我想要的,所以我目前能想到的方法就是把这个图片资源上传到服务器上。
【解决步骤】:
我的前端使用的小程序,后端使用的SpringMVC。
小程序:
wxml文件
<view class="weui-uploader__input-box">
<view class="weui-uploader__input" bindtap="chooseImage"></view>
</view>
<image class="weui-uploader__img" src='{
{url}}' mode="aspectFill" />
JS文件
const upload = require('../../utils/upload.js')
Page({
data: {
url:'',
},
chooseImage: function (e) {
var that = this;
wx.chooseImage({
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], //