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 相关文章推荐
js单例模式详解实例
Nov 21 Javascript
借助JavaScript脚本判断浏览器Flash Player信息的方法
Jul 09 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
KnockoutJS 3.X API 第四章之数据控制流component绑定
Oct 10 Javascript
微信小程序  action-sheet详解及实例代码
Nov 09 Javascript
react-native使用react-navigation进行页面跳转导航的示例
Sep 07 Javascript
js中int和string数据类型互相转化实例
Jan 16 Javascript
vue webpack重写cookie路径的方法
Jul 10 Javascript
微信小程序class封装http代码实例
Aug 24 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 Javascript
jQuery实现增删改查
Dec 22 jQuery
vue整合百度地图显示指定地点信息
Apr 06 Vue.js
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
golang与PHP输出excel示例
2016/07/22 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
javascript 类型判断代码分析
2010/03/28 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
JS取文本框中最小值的简单实例
2013/11/29 Javascript
js给页面加style无效果的解决方法
2014/01/20 Javascript
jquery插件validation实现验证身份证号等
2015/06/04 Javascript
初步使用Node连接Mysql数据库
2016/03/03 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
2016/03/29 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
sso跨域写cookie的一段js脚本(推荐)
2016/05/25 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
JQuery动态添加Select的Option元素实现方法
2016/08/29 Javascript
angular 动态组件类型详解(四种组件类型)
2017/02/22 Javascript
基于vuejs实现一个todolist项目
2017/04/11 Javascript
ECMAscript 变量作用域总结概括
2017/08/18 Javascript
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
JS实现的简单tab切换功能完整示例
2019/06/20 Javascript
Vue实现数据请求拦截
2019/10/23 Javascript
es6 for循环中let和var区别详解
2020/01/12 Javascript
NodeJS开发人员常见五个错误理解
2020/10/14 NodeJs
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
如何解决django配置settings时遇到Could not import settings 'conf.local'
2014/11/18 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
python爬虫 爬取超清壁纸代码实例
2019/08/16 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
python图形开发GUI库pyqt5的详细使用方法及各控件的属性与方法
2020/02/14 Python
互斥锁解决 Python 中多线程共享全局变量的问题(推荐)
2020/09/28 Python
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
国贸专业毕业求职信
2014/06/11 职场文书
孩子满月酒答谢词
2015/09/30 职场文书
2016年小学端午节活动总结
2016/04/01 职场文书
Android 中的类文件和类加载器详情
2022/06/05 Java/Android