van-uploader上传图片

<van-uploader
    :disabled="form.status=='1'"
     style="display: flex;"
     v-model="fileList"
     multiple
     :max-count="4"
     :after-read="afterRead">
     <div style="width: 100%;" v-show="fileList.length < 4">      
     <img style="width:100%;height:75px;"src="./images/uploadbg.png" alt=""></div>
 </van-uploader>
new Vue({
	fileList: [],
	formData: new FormData(),
	form: {}
})
methods: {
	afterRead(file) {
      if(file instanceof Array) {
      // 多张图片
        file.forEach(f => {
          this.formData.append('files',f.file)
        })
      }else{
      // 单张图片
        this.formData.append("files",file.file)
      }
    },
    // 提交按钮	
    submitBtn() {
      if(this.fileList.length <= 0) {
        vant.Toast('提示内容');
        return;
      }
      vant.Toast.loading({
        duration: 0,
        message: '提交中...',
        forbidClick: true
      });
      // api 要求传参 pathCode (根据api而定)
      this.formData.append('pathCode','0102')
      axios({
      	// 上传图片到服务器api
        url:`https://www.qyflc.com/gateway-api/file/uploads`,
        data:this.formData,
        method:'POST',
        headers: {
          "content-type": "multipart/form-data",
        }
      }).then((res) => {
        this.form.status = '1'
        this.form.images = res.data.data.map((item) => {
          return item.url
        })
        // 上传图片成功后的处理逻辑,仅上传功能可以无视
        return axios({
          url:`https://www.qyflc.com/gateway-api/device/maintain`,
          data:this.form,
          method:'PUT',
        }).then((response) => {
          if(response.data.code == '200') {
          	// 强制刷新页面
            location.reload()
            vant.Toast.clear()
            vant.Toast.success('提交成功');
          }else{
            vant.Toast.fail('提交失败');
          }
        })
      })
    },
}
虽然提供的引用中未直接提及 van-uploader 上传图片提示接口网络错误的解决方案,但可以从常见的处理思路来分析。 1. **检查网络连接**:首先要确保设备网络连接正常,可尝试切换网络环境,如从 Wi-Fi 切换到移动数据,或者反之,看是否能解决问题。 2. **检查接口地址和权限**:确认 van-uploader 配置的接口地址是否正确,包括协议、域名、端口和路径等。同时,要保证接口具有访问权限,可能需要检查跨域配置等。 3. **查看接口响应**:使用浏览器开发者工具(如 Chrome 的开发者工具)或者抓包工具(如 Fiddler)来查看接口请求和响应的详细信息。了解具体的错误状态码和错误信息,根据这些信息来定位问题。例如,如果是 404 错误,说明接口地址可能有误;如果是 500 错误,可能是服务器端出现了问题。 4. **检查上传参数**:确保 van-uploader 传递给接口的参数符合接口的要求,包括文件格式、文件大小限制等。有些接口可能对文件类型和大小有严格的要求,如果不符合,可能会导致上传失败。 5. **服务器端检查**:联系服务器端开发人员,检查服务器端的日志,看是否有相关的错误记录。服务器端可能存在性能问题、代码逻辑错误或者资源不足等情况,需要进行排查和修复。 ```javascript // 示例代码,设置 van-uploader上传地址和参数 <van-uploader :action="uploadUrl" :headers="headers" :data="uploadData" @success="onUploadSuccess" @fail="onUploadFail" /> <script> export default { data() { return { uploadUrl: 'your_upload_api_url', headers: { // 设置请求头 'Content-Type': 'multipart/form-data' }, uploadData: { // 设置上传参数 key: 'value' } }; }, methods: { onUploadSuccess(response) { // 上传成功处理 console.log('上传成功', response); }, onUploadFail(error) { // 上传失败处理 console.error('上传失败', error); } } }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值