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 相关文章推荐
web基于浏览器的本地存储方法应用
Nov 27 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
Nov 22 Javascript
调用jQuery滑出效果时闪烁的解决方法
Mar 27 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
Jan 09 Javascript
jQuery实现转动随机数抽奖效果的方法
May 21 Javascript
jQuery插件EasyUI实现Layout框架页面中弹出窗体到最顶层效果(穿越iframe)
Aug 05 Javascript
轻松实现js选项卡切换效果
Sep 24 Javascript
JS实现的图片预览插件与用法示例【不上传图片】
Nov 25 Javascript
如何手动实现es5中的bind方法详解
Dec 07 Javascript
微信小程序城市选择及搜索功能的方法
Mar 22 Javascript
微信小程序页面上下滚动效果
Nov 18 Javascript
Vue如何实现组件间通信
May 15 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
使用Apache的htaccess防止图片被盗链的解决方法
2013/04/27 PHP
基于PHP常用字符串的总结(待续)
2013/06/07 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
php创建session的方法实例详解
2015/01/27 PHP
php计算到指定日期还有多少天的方法
2015/04/14 PHP
PHP设置Cookie的HTTPONLY属性方法
2017/02/09 PHP
文档对象模型DOM通俗讲解
2013/11/01 Javascript
php析构函数的具体用法小结
2014/03/11 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
分享十三个最佳JavaScript数据网格库
2017/04/07 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
js中怎么判断两个字符串相等的实例
2019/01/17 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python实现将文本转换成语音的方法
2015/05/28 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
2017/09/30 Python
使用Python更换外网IP的方法
2018/07/09 Python
Python 使用 attrs 和 cattrs 实现面向对象编程的实践
2019/06/12 Python
python手写均值滤波
2020/02/19 Python
HTML5 Canvas鼠标与键盘事件demo示例
2013/07/04 HTML / CSS
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
员工培训心得体会
2013/12/30 职场文书
将相和教学反思
2014/02/04 职场文书
英语求职信范文
2014/05/23 职场文书
环境科学专业求职信
2014/08/04 职场文书
社区娱乐活动方案
2014/08/21 职场文书
员工工作表现自我评价
2015/03/06 职场文书
实现AJAX异步调用和局部刷新的基本步骤
2022/03/17 Javascript
Linux中如何安装并部署Redis
2022/04/18 Servers