• 小程序方法-上传多上图片


    //数据
      data: {
        imgUrl:[],
        imgname:[],
      },
     //上传方法 
     //<view class="pic_add" bindtap='imgupload'><image src="/images/add.png" mode="widthFix"></image></view>
     imgupload:function () {
        var that = this;
        var count = 6 - parseInt((that.data.imgUrl).length);
        if( count == false )
        {
          wx.showToast({
            title: '最多上传6张',
            duration: 1500
          })
          return false;
        }
        wx.chooseImage({
          count: 1,
          sizeType: ['compressed'],      
          success: function (res) {
            var tempFilePaths = res.tempFilePaths;
            var i = 0; //第几个
            var length = res.tempFilePaths.length; //总共个数
            var successUp = 0; //成功个数
            var failUp = 0; //失败个数
            that.uploadImg(tempFilePaths, successUp, failUp, i, length);
          }
        })
      },
      uploadImg: function (tempFilePaths, successUp, failUp, i, length) {
        var that = this;
        var token = wx.getStorageSync('token');
         wx.uploadFile({
          url: _data.get_api_imgupload, //仅为示例,非真实的接口地址
          filePath: tempFilePaths[i],
          name: 'file',
          header: {
            'content-type': 'multipart/form-data',
            'Authorization': token
          },
          success: function (res) {
            //console.log(res);
           var srcArr = that.data.imgUrl;
               srcArr.push(data.data.src);
           var imgname = that.data.imgname;
               imgname.push(data.data.name);
               that.setData({
                imgUrl: srcArr,
                imgname: imgname
               });
          }, complete: () => {
            i++;
            if (i == length) {
              return;
            } else {  //递归调用uploadDIY函数
              if (!that.data.isuploaderror) {
                this.uploadImg(tempFilePaths, successUp, failUp, i, length);
              }
            }
          }
        })
      }, 
      //删除
      //<view class="pic_dle" data-id="{{key}}" data-name="{{imgname[key]}}" bindtap='remImg'><image src="/images/dle.png" mode="widthFix"></image></view>
      remImg:function (e) {
        var that = this;
        var dataset = e.currentTarget.dataset;
        var Index = dataset.id;
        var name = dataset.name;
        //通过`index`识别要删除第几条数据,第二个数据为要删除的项目数量,通常为1
        that.data.imgUrl.splice(Index, 1);
        that.data.imgname.splice(Index, 1);
        //渲染数据
        that.setData({
          imgUrl: that.data.imgUrl,
          imgname: that.data.imgname
        });
        var url = _data.get_api_imgdel;
        var data = {'name': name};
        _httpHelper.httpPost(url, data, function (res) {});
      },
    与尘埃中开出花朵。
  • 相关阅读:
    python 约束与异常处理
    ActiveMQ
    SpringMVC项目,启动项目怎么总是报找不到log4j.properties文件
    java 字符串处理
    java面向对象学习笔记
    JSONArray遍历
    get/post方式调用http接口
    IO流认识
    Apache Mina 入门实例
    “wsimport -keep ”生成客户端报错“Use of SOAP Encoding is not supported.”
  • 原文地址:https://www.cnblogs.com/congfeicong/p/10185009.html
Copyright © 2020-2023  润新知