vue 上传文件携带其他参数

文章讲述了如何在VueElement-UI的el-upload组件中上传文件,并附带其他参数,使用FormData和XMLHttpRequest进行交互,包括on-change事件处理、进度监听和错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vue element-ui el-upload
上传文件时需要携带其他参数

 <yu-upload class="upload-demo" action="/" :on-change="loadJsonFromFile" :auto-upload="false"  :limit="1">
 	<yu-button size="mini" type="primary">点击上传</yu-button>
 </yu-upload>Ï

on-change 属性 获取选择文件

loadJsonFromFile(file, fileList) {
   console.log('file',file); //文件
   console.log('fileList',fileList);//文件列表
 },

利用接口上传文件以及其他参数

 uploadSure(){
          const _this = this
          let formData = new FormData()
          formData.append('operater','管理员')
          formData.append('file',_this.uploadFiles[0].raw)
          const xhr = new XMLHttpRequest()
          xhr.open('post','/upload/excel')
          xhr.onreadystatechange = function() {
          //---------可以注释
		 if (xhr.readyState === 4 && xhr.status === 200) {
		 	 var data = JSON.parse(xhr.responseText)
		     if (data.status === 200) { // 上传文件成功
		     // 将服务器返回的图片地址,设置为 <img> 标签的 src 属性
		        document.querySelector('#img').src = 'http://www.liulongbin.top:3006' + data.url
		     } else { // 上传文件失败
		         console.log(data.message)
		     }
		 }
		}
		//----------

          xhr.onerror = function(){
            _this.$message.error('上传失败')
          }
          xhr.onload = function (evt){
            const res = JSON.parse(evt.target.response)
           //接口返回结果
          }
          //监听文件进度
          xhr.upload.onprogress = function (event){
            if(event.lengthComputable){
              var percent = event.loaded/event.total *100
              console.log('percent',percent);
            }
          }
          xhr.send(formData)
        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值