vue中用H5实现文件上传的方法

1.图片上传

  
              
// 上传图片
    'fileSelected': function () {
      var that = this
      let files = document.getElementById('fileToUpload').files
      if (files && files.length) {
        var fd = new FormData()
        fd.append('file', files[0])
        var reader = new window.FileReader()
        // 图片大小 100KB
        var fileSize = 100 * 1024
        reader.readAsDataURL(files[0])
        reader.onload = function (e) {
          if (e.target.result.length > fileSize) {
            that.$dispatch('show-alert', 'msg_1016')
            document.getElementById('fileToUpload').value = ''
          } else {
            var xhr = new XMLHttpRequest()
            xhr.addEventListener('load', that.uploadComplete, false)
            xhr.open('POST', that.$root.appBaseUrl + 'fileUpload/singleFileUpload')
            xhr.send(fd)
          }
        }
      }
    },
    // 上传成功
    'uploadComplete': function (evt) {
      this.personInfo.photoUrl = (evt.target.responseText).replace('\\', '/')
      document.getElementById('fileToUpload').value = ''
    },
    // 删除图片
    'deleteImg': function () {
      this.personInfo.photoUrl = ''
    },
computed: {
    headPreFix: function () {
      let params = window.localdicts.dicts.ph_params.systemParam
      if (params.storageType === 1) {
        return params.storageUrl
      }
      return this.$root.appBaseUrl
    }
}

 

转载于:https://my.oschina.net/yuxiaoyu123/blog/909421

你可能感兴趣的:(vue中用H5实现文件上传的方法)