在微信小程序里上传图片。
<!-- index.wxml--> <view> <button bindtap="uploadImg">上传图片</button> <view wx:if="{{tempFilePaths.length}}" > <image wx:for="{{tempFilePaths}}" wx:key="{{key}}" src="{{item}}"></image> </view> <view wx:if="{{uploadLinks.length}}"> <image wx:for="{{uploadLinks}}" wx:key="{{key}}" src="{{item.path}}"></image> </view> </view>
JS
//index.js Page({ data:{ tempFilePaths:[], uploadLinks:[], }, uploadImg() { var _this = this; wx.chooseImage({ count: 9, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { _this.setData({ tempFilePaths: res.tempFilePaths, //返回的 res.tempFilePaths 是数组 uploadLinks: res.tempFiles //返回的 res.tempFiles 是由多个对象组成的数组 }) } }) } })
tempFilePaths、tempFiles 都是 res 的属性,个人有个习惯,喜欢把返回结果,用 console.log(res) 放出来看,返回什么属性一目了然:
2、保存到本地
长按图片,保存到本地
<view> <view wx:if="{{tempFilePaths.length}}" > <image wx:for="{{tempFilePaths}}" wx:key="{{key}}" src="{{item}}" bindlongpress='saveImg' data-name="{{item}}"></image> </view> </view>
js
// pages/jump.js Page({ data:{ tempFilePaths:[] }, uploadImg() { var _this = this; wx.chooseImage({ count: 9, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { console.log(res); _this.setData({ tempFilePaths: res.tempFilePaths, //返回的 res.tempFilePaths 是数组 }) } }) }, saveImg(e) { wx.showModal({ //弹窗确认是否保存 title: '保存图片?', success: function (res) { if (res.confirm) { wx.saveImageToPhotosAlbum({ //保存图片 filePath: e.currentTarget.dataset.name, success(res) { } }) } } }) }, })
网友评论文明上网理性发言 已有0人参与
发表评论: