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 相关文章推荐
转一个日期输入控件,支持FF
Apr 27 Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 Javascript
Javascript 按位取反运算符 (~)
Feb 04 Javascript
js使用DOM操作实现简单留言板的方法
Apr 10 Javascript
js实现Form栏显示全格式时间时钟效果代码
Aug 19 Javascript
AngularJS入门教程中SQL实例详解
Jul 27 Javascript
js返回顶部实例分享
Dec 21 Javascript
把vue-router和express项目部署到服务器的方法
Feb 21 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 28 Javascript
js+canvas实现两张图片合并成一张图片的方法
Nov 01 Javascript
JavaScript算法学习之冒泡排序和选择排序
Nov 02 Javascript
京东优选小程序的实现代码示例
Feb 25 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
实例(Smarty+FCKeditor新闻系统)
2007/01/02 PHP
php下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
PHP的new static和new self的区别与使用
2019/11/27 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
javascript 浏览器检测代码精简版
2010/03/04 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
jQuery 写的简单打字游戏可以提示正确和错误的次数
2014/07/01 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
基于javascript实现漂亮的页面过渡动画效果附源码下载
2015/10/26 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
一个炫酷的Bootstrap导航菜单
2016/12/28 Javascript
详解基于vue的服务端渲染框架NUXT
2018/06/20 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
VUE引入第三方js包及调用方法讲解
2019/03/01 Javascript
小程序实现横向滑动日历效果
2019/10/21 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
python读取Excel实例详解
2018/08/17 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
django 捕获异常和日志系统过程详解
2019/07/18 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
python实现FTP文件传输的方法(服务器端和客户端)
2020/03/20 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
ProBikeKit德国:在线公路自行车专家
2018/06/03 全球购物
美国室内盆栽植物购买网站:Plants.com
2020/04/24 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
学期自我鉴定
2013/11/04 职场文书
党支部对照检查材料
2014/08/25 职场文书
死亡证明书样本说明
2014/10/18 职场文书
水电工程师岗位职责
2015/02/13 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
《百分数的认识》教学反思
2016/02/19 职场文书
大学生如何逃脱“毕业季创业队即散伙”魔咒?
2019/08/19 职场文书
html+css实现滚动到元素位置显示加载动画效果
2021/08/02 HTML / CSS