微信小程序拍照上传后台,预览从点击的图片开始预览

微信小程序开发记录
图片上传新增删除功能预览功能,点击那张图预览那张
删除的图片随便给的将就看

wxml

<view class="contant-pic">
 <view class="pics-list" wx:for="{{pics}}" wx:key="index">
 <!-- 预览 -->
 <image src="{{item}}" class="uploadImg" bindtap="previewImage" data-index="{{index}}" ></image>
 <!-- 点击删除照片-->
 <image src="../../../../images/pause.png" class="uploadImg-error" data-img="{{item}}" bindtap='deleteImg'></image>
 </view>
  <!-- 点击拍照-->
 <image src="../../../../images/mylogo.png" class="uploadImg {{isShow?'true':'hideTrue'}}" bindtap='chooseimg' ></image>
 </view>

wxss

```css
.contant-pic{
      width: 94%;
      margin: 0 auto;
      height:80px;
       
     }
     .pics-list{
      width:73px;
      height:73px;
      float:left;
      margin-right:6px;
       
     }
     .uploadImg{
      width:70px;
      height:70px;
     }
     .uploadImg-error{
      height:25px;
      width:25px;
      position:relative;
      top:-80px;
      left:55px;
     }
     .hideTrue {
      display: none
     }
     .true {
      display: block
     }

js我的图片信息不是本地的,是从拍照上传之后存在data里面

//选择照片
      chooseimg:function(){
        var that = this; 
        let pics = that.data.pics;
      wx.chooseImage({
      count: 1, // 默认9
      sizeType: ['original'], // 可以指定是原图还是压缩图,默认二者都有
      sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有
      success: function (res) {
        let tempFilePaths = res.tempFilePaths
        pics.push(tempFilePaths);
        that.setData({
          pics: pics
        })
        wx.uploadFile({
                url: 'https://www.btest.net.cn/console/api/up/image',
                filePath:tempFilePaths[0],
                name: 'file',
                header: {
                  "Authorization": "Bearer " + getApp().globalData.token
                     },
                success: function (res) {
                //格式化后台的json数据
               var cjson = JSON.parse(res.data);
               let data_index = [];
          for (const i in cjson.data.item){ 
            data_index.push(cjson.data.item[i].url)
          }
                  that.setData({
                  files:data_index,
                })
                 
                }, fail: function (res) {
                  console.log(res)
                }
              })
            }
      
      })
      },

      /**删除图片 */
      deleteImg:function(e){
        let that=this;
        let deleteImg=e.currentTarget.dataset.img;
        let pics = that.data.pics;
        let newPics=[];
        for (let i = 0;i<pics.length; i++){
        //判断字符串是否相等
        if (pics[i]["0"] !== deleteImg["0"]){
        newPics.push(pics[i])
        }
        }
        that.setData({
        pics: newPics,
        isShow: true
        })
        
        },


      //点击预览
      previewImage:function(e){
        var that = this,
        //获取当前图片下标
          index = e.currentTarget.dataset.index
          //数据源从data获取之后需要转化一下单独的存在一个数组里面
         var  pictures = that.data.pics;
          var dataArray = [];
          var datas = [];
          for (var i = 0; i < pictures.length;i++){
            for( var j=0;j<pictures[i].length;j++){
              dataArray[j] = pictures[i][j];
              datas.push(dataArray[j])
            }
          }
        wx.previewImage({
        //当前显示图片
         current:datas[index],
         //数据源所有图片在同一个数组内
         urls: datas  
        })
       },

大家看了觉得有什么问题,请留言我会看

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值