프로그램 사진 업로드에 대한 문제

3057 단어

1. 사진 업로드


       
      
      
      
    
  • src에서imgOne은 현재의 변수를 대표하고plusImg는 원래의 변수를 대표하며 원리는 현재의 변수로 원래의 변수를 대체하는 것이다
  • input에서value값에서imgOneValue 변수는 서버측이 수신한 주소를 나타낸다
  • js 코드
  • Page({
      data: {
        plusImg: '/image/plus.png',
        imgOne: '',
      },
      // 
      chooseImage: function (e) {
        //  
        initQiniu();
    
        var imgId = e.currentTarget.dataset.id;
        var that = this;
        wx.chooseImage({
          count: 1,
          sizeType: ['original', 'compressed'], 
          sourceType: ['album', 'camera'], 
          success: function (res) {
            //  ,tempFilePath img src 
            var tempFilePaths = res.tempFilePaths
            console.log(tempFilePaths)
          
            //  
            qiniuUploader.upload(tempFilePaths[0], (upRes) => {
              // console.log(upRes);
              //  
              var data = {};
              data[imgId] = tempFilePaths;
              var imgValue = imgId+'Value';
              data[imgValue] = upRes.imageURL;
              that.setData(data);
            }, (error) => {
            }
            );
          }
        })
      },
    
  • hidden의 imgOneStatus 변수와 imgOneTip 변수는 폼 검증 시 필드입니다
  • 폼 검증 제출 코드
  • /**
     *  
     */
    function setValidate(obj) {
      obj.WxValidate = app.WxValidate(
        {
          level: {
            required: true
          },
          name: {
            required: true
          },
          imgOne: {
            required: true
          },
        }, {
          level: {
            required: ' '
          },
          name: {
            required: ' '
          },
          imgOne: {
            required: ' '
          },
        }
      );
    }
    //  
      formSubmit: function (e) {
        console.log('form submit , :', e.detail.value)
        var that = this
        var meInfo = this.data.userInfo;
        var requestValue = e.detail.value;
        var formId = e.detail.formId;
        // console.log(e);
    
        //  
        var data = {};
        for (var i in requestValue) {
          var status = i + 'Status';
          data[status] = true;
        }
        this.setData(data);
    
        // 
        if (!this.WxValidate.checkForm(e)) {
          data = {};
          var errs = this.WxValidate.errorList;
          for (var i in errs) {
            var tip = errs[i].param + 'Tip';
            var status = errs[i].param + 'Status';
            var msg = errs[i].msg;
    
            data[tip] = msg;
            data[status] = false;
          }
          console.log(data);
          this.setData(data);
          return false
        }
      }
    

    2. js에서 앱을 초기화해야 한다.var app = getApp();


    3. 파일을 가져오는 것을 잊지 마라

    const config = require("../../config");
    const qiniuUploader = require("../../utils/qiniuUploader");
    

    좋은 웹페이지 즐겨찾기