微信小程序使用thinkphp批量上传图片代码

 原文地址:http://www.tshinet.com/portal/article/index/id/579.html

微信小程序使用thinkphp批量上传图片代码,分为客户的小程序代码,和 服务端的php代码,现在温州网站建设把关键代码拿出来,跟大家分享下:

首先看,小程序的代码

data: {
    nickName: "",
    avatarUrl: "",
    gender: "",
    province: "",
    city: "",
    country: "",

    upload_picture_list:[],
    imageList: [],
    sourceTypeIndex: 2,
    sourceType: ['拍照', '相册', '拍照或相册'],
    sizeTypeIndex: 2,
    sizeType: ['压缩', '原图', '压缩或原图'],
    countIndex: 2,
    count: [1, 2, 3, 4, 5, 6, 7, 8, 9]
  },
  chooseImage: function () 
  {
    var that = this
    var upload_picture_list = that.data.upload_picture_list;
    wx.chooseImage({
      sourceType: ['album', 'camera'],
      sizeType: ['original', 'compressed'],
      count:3,
      success: function (res) 
      {
        console.log(res)
        var tempFiles = res.tempFiles; 
        //循环把图片加入到上传列表
        for (var i in tempFiles)
        {
            tempFiles[i]['upload_percent']=0;
            tempFiles[i]['path_server']='';
            upload_picture_list.push(tempFiles[i]);
        }
        that.setData({
          upload_picture_list: upload_picture_list,
        });
        //------------------循环把图片上传到服务器 并显示进度
        for (var j in upload_picture_list)
        {
          if (upload_picture_list[j]['upload_percent']==0)
            {
              upload_file_server(that, upload_picture_list,j);
            }
        } 
      }
    })
    //-------------------------------------------------------------------------------------------begin 函数 upload_file_server
    function upload_file_server(that, upload_picture_list, j) {
      //console.log("开始上传" + j + "图片到服务器");
      //console.log(upload_picture_list[j]);
      var upload_task = wx.uploadFile({
        url: config.api.SubPics,
        filePath: upload_picture_list[j]['path'],
        name: 'file',
        formData: { 'path': 'wxchat' },//附件数据,这里为路径
        success: function (res) {
          var data = JSON.parse(res.data);//字符串转化为json;
          if (data.success == true) {
            var filename = "" + data.savename;
            upload_picture_list[j]['path_server'] = filename;
          }
          that.setData({
            upload_picture_list: upload_picture_list
          });
          console.log("图片上传" + j + "到服务器完成");
          //console.log(upload_picture_list[j]);
        }
      })
      upload_task.onProgressUpdate((res) => {
        upload_picture_list[j]['upload_percent'] = res.progress
       // console.log("第" + j + "个图片上传进度:" + upload_picture_list[j]['upload_percent']);
        //console.log(upload_picture_list);
        that.setData({
          upload_picture_list: upload_picture_list
        })
      })

    }
    //-------------------------------------------------------------------------------------------end 函数 upload_file_server

  },

服务器上的php代码

public function savePics()
    {
        $config=array(
                'rootPath' => './'.C("UPLOADPATH"),
                'savePath' => './zhengshu/',
                'maxSize' => 512000,//500K
                'saveName'   =>    array('uniqid',''),
                'exts'       =>    array('jpg', 'png', 'jpeg'),
                'autoSub'    =>    false,
        );
        $upload = new \Think\Upload($config,'Local');//先在本地裁剪
        $info=$upload->upload();
        //开始上传        
        if (!$info) 
        {
            //上传失败,返回错误 
            $data["message"]=$upload->getError();
            $data['success']=false;
        }
        else
        {
            //上传成功
            foreach ($info as $file)
            {
                $filepath=C("MINIHTTPS")."data/upload/zhengshu/".$file['savename'];
                $data['success']=true;
                $data['savename']=$filepath;
            }
        } 
        $this->ajaxReturn($data);
    }

猜你喜欢

转载自blog.csdn.net/dancingwu/article/details/116653379
今日推荐