小程序
小游戏
企业微信
微信支付
扫描小程序码分享
wx.chooseMedia 选择相册图片显示时,存在重复照片显示,能否有方法可以去重?
4 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
同一个照片可以选择两次?
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
选择的时候,没办法,只有选择之后,你自己在代码中处理
对于同一个文件,第二次选取时获取的临时路径 tempFilePath 是否保持不变?
如果保持不变的话,可以用 tempFilePath 做图片的唯一标识。
如果会变化的话,需要自行计算文件的 md5 值做唯一标识,再根据 md5 去重。
md5 获取方法: getFileInfo https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html
是不是赋值问题,data里,给一个 data: { picList: [], }, // 拍照,你可以选择相册 chooseimage: function () {//选择图片 var self = this; wx.chooseMedia({ count: 1, mediaType: ['image'], sourceType: ['camera'], camera: 'back', success: function (res) { self.uploadImage(res.tempFiles[0].tempFilePath, 0, self); } }) }, uploadImage: function (uploadingImage, i, self)//上传照片 { var images = self.data.picList; var uploadImgPath = uploadingImage; var imgObj = new Object(); imgObj.filePath = "/images/icon_uploading.png"; images.push(imgObj); self.setData({ picList: images }); //上传照片 wx.uploadFile({ url: 自己的请求路径, filePath: uploadImgPath, name: "file", header: { "Content-Type": "multipart/form-data" }, success: function (res) { var resImg = res.data; var imgObj = images[images.length - 1]; imgObj.filePath = uploadImgPath; imgObj.imgUrl = resImg; self.setData({ picList: images }); console.log("image=" + images[0].imgUrl); console.log("picList长度:" + images.length); } }) }, <view class="picList"> <view wx:for="{{picList}}" wx:key='index' wx:for-index="idx" data-idx="{{idx}}" class="picView"> <image class="pic" mode="aspectFill" src="{{item.filePath}}"></image> </view> </view>
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
同一个照片可以选择两次?
选择的时候,没办法,只有选择之后,你自己在代码中处理
对于同一个文件,第二次选取时获取的临时路径 tempFilePath 是否保持不变?
如果保持不变的话,可以用 tempFilePath 做图片的唯一标识。
如果会变化的话,需要自行计算文件的 md5 值做唯一标识,再根据 md5 去重。
md5 获取方法: getFileInfo https://developers.weixin.qq.com/miniprogram/dev/api/file/FileSystemManager.getFileInfo.html
是不是赋值问题,data里,给一个 data: { picList: [], }, // 拍照,你可以选择相册 chooseimage: function () {//选择图片 var self = this; wx.chooseMedia({ count: 1, mediaType: ['image'], sourceType: ['camera'], camera: 'back', success: function (res) { self.uploadImage(res.tempFiles[0].tempFilePath, 0, self); } }) }, uploadImage: function (uploadingImage, i, self)//上传照片 { var images = self.data.picList; var uploadImgPath = uploadingImage; var imgObj = new Object(); imgObj.filePath = "/images/icon_uploading.png"; images.push(imgObj); self.setData({ picList: images }); //上传照片 wx.uploadFile({ url: 自己的请求路径, filePath: uploadImgPath, name: "file", header: { "Content-Type": "multipart/form-data" }, success: function (res) { var resImg = res.data; var imgObj = images[images.length - 1]; imgObj.filePath = uploadImgPath; imgObj.imgUrl = resImg; self.setData({ picList: images }); console.log("image=" + images[0].imgUrl); console.log("picList长度:" + images.length); } }) }, <view class="picList"> <view wx:for="{{picList}}" wx:key='index' wx:for-index="idx" data-idx="{{idx}}" class="picView"> <image class="pic" mode="aspectFill" src="{{item.filePath}}"></image> </view> </view>