VUE UPLOAD 通过ACTION返回上传结果操作


Posted in Javascript onSeptember 07, 2020

通过Upload 的action方法 返回不了结果,可以通过on-success方法中获取返回结果

<Upload accept=".xls, .xlsx" :action="uploadUrl" :on-success="onSuccess" :on-error="handleError" :before-upload="beforeUpload" style="float:right">
     <Button type="primary" icon="ios-cloud-upload-outline" >导入</Button>
 </Upload>
-----------------------------------------
computed: {
   uploadUrl() {    
   return baseUrl + "/ImportExcel/";   
  }
//file为ImportExcel方法返回的结果
onSuccess(file){
    if(file.code=="1")
    {
     this.$Message.error("导入失败:" + file.msg);
     return;
    }      
   },

补充知识:Element-UI中上传的action地址相对问题

我想要在vue里只出现上传地址后缀,然后具体的上传地址,前缀是项目配置里的服务器地址

1、action直接写相对地址

<el-upload
      class="import-btn"
      :action="/base_data/import_data"
      :data="uplaodData"
      name="files"
      :on-success="uploadSuccess"
      :on-error="uploadError"
      accept="xlsx,xls"
      :show-file-list="false">
      <el-button class="btn light small"><i class="icon iconfont icon-piliangdaoru"></i>批量导入</el-button>
     </el-upload>

这样的结果,上传请求的的前缀都是本地localhost:8080,并不是我想要的相对服务器的地址

2、屏蔽掉action地址,我自己写请求

<el-upload
      class="import-btn"
      :action="111" //这里随便写,反正用不到,但是又必须要写,无奈
      :before-upload="beforeUpload"
      :on-success="uploadSuccess"
      :on-error="uploadError"
      accept="xlsx,xls"
      :show-file-list="false">
      <el-button class="btn light small"><i class="icon iconfont icon-piliangdaoru"></i>批量导入</el-button>
     </el-upload>

methods里这么写

beforeUpload(file){
  let fd = new FormData();
  fd.append('files',file);//传文件
  fd.append('id',this.srid);//传其他参数
  axios.post('/api/up/file',fd).then(function(res){
      alert('成功');
  })
  return false //屏蔽了action的默认上传
},

这样的吧但是这样的我发过去的东西老是空的,应该是我不太懂FormData()的用法吧,但是我单独用FormData()的get方法,都能get到,后来发现是因为文件编码问题

默认的文件编码application/x-www-form-urlencoded是这个,但是上传文件需要的是multipart/form-data (这个格式的请求太好认, 一长串有没有,里面包括了文件名…),当然有时候也会是这样(files: (binary)),都是ok的

啊~,真的要郁闷了,最后还是让我发现了一种办法

那就是!!!

1、把全局配置的服务器地址引入

import url from '@/http/http'

2、在data里定义url:‘',

3、在create方法里this.url = url;

4、在上传组件的action上

<el-upload
      class="import-btn"
      :action="url+this.uploadUrl" //手动拼地址
      :data="uplaodData"
      name="files"
      :on-success="uploadSuccess"
      :on-error="uploadError"
      accept="xlsx,xls"
      :show-file-list="false">
      <el-button class="btn light small"><i class="icon iconfont icon-piliangdaoru"></i>批量导入</el-button>
     </el-upload>

好了,都好了,相对地址是服务器地址,上传文件编码也是multipart/form-data

以上这篇VUE UPLOAD 通过ACTION返回上传结果操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery select操作的日期联动实现代码
Dec 06 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
Mar 12 Javascript
js定时调用方法成功后并停止调用示例
Apr 08 Javascript
一个检测表单数据的JavaScript实例
Oct 31 Javascript
基于jQuery的JavaScript模版引擎JsRender使用指南
Dec 29 Javascript
详解JavaScript的策略模式编程
Jun 24 Javascript
Javascript中arguments对象的详解与使用方法
Oct 04 Javascript
javascript判断firebug是否开启的方法
Nov 23 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 Javascript
node vue项目开发之前后端分离实战记录
Dec 13 Javascript
在vue项目中引入highcharts图表的方法
Jan 21 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
Dec 30 Javascript
vue中element 的upload组件发送请求给后端操作
Sep 07 #Javascript
vue-simple-uploader上传成功之后的response获取代码
Sep 07 #Javascript
Vue.js暴露方法给WebView的使用操作
Sep 07 #Javascript
三步搞定:Vue.js调用Android原生操作
Sep 07 #Javascript
vue单应用在ios系统中实现微信分享功能操作
Sep 07 #Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
Sep 07 #Javascript
一篇文章带你从零快速上手Rollup
Sep 07 #Javascript
You might like
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
php 读取shell管道传输过来的内容
2010/03/01 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
javascript 得到变量类型的函数
2010/05/19 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
js下拉菜单语言选项简单实现
2013/09/23 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
跟我学习javascript的for循环和for...in循环
2015/11/18 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
JS键盘版计算器的制作方法
2016/12/03 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
vue 计时器组件的实现代码
2017/09/14 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
javascript实现贪吃蛇小游戏
2020/07/28 Javascript
JS遍历树层级关系实现原理解析
2020/08/31 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
使用python检测手机QQ在线状态的脚本代码
2013/02/10 Python
python和C语言混合编程实例
2014/06/04 Python
Python中优化NumPy包使用性能的教程
2015/04/23 Python
Django学习笔记之ORM基础教程
2018/03/27 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
python爬虫如何解决图片验证码
2021/02/14 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
英国复古服装和球衣购买网站:3Retro Football
2018/07/09 全球购物
优秀应届毕业生推荐信
2014/02/18 职场文书
总经理检讨书
2014/09/15 职场文书
户籍证明模板
2014/09/28 职场文书
乒乓球比赛通知
2015/04/27 职场文书
个人借条范本
2015/05/25 职场文书
python中opencv实现图片文本倾斜校正
2021/06/11 Python
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers