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 相关文章推荐
JavaScript下通过的XMLHttpRequest发送请求的代码
Jun 28 Javascript
IE、FF、Chrome浏览器中的JS差异介绍
Aug 13 Javascript
jquery实现动态画圆
Dec 04 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
javascript实时显示当天日期的方法
May 20 Javascript
js中的关联数组与普通数组详解
Jul 27 Javascript
JS button按钮实现submit按钮提交效果
Nov 01 Javascript
Bootstrap CSS布局之列表
Dec 15 Javascript
基于pako.js实现gzip的压缩和解压功能示例
Jun 13 Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 Javascript
JS实现进度条动态加载特效
Mar 25 Javascript
vue中父子组件的参数传递和应用示例
Jan 04 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
动漫女神老婆无限好,但日本女生可能就不是这么一回事了!
2020/03/04 日漫
php 静态变量与自定义常量的使用方法
2010/01/26 PHP
PHP转换文件夹下所有文件编码的实现代码
2013/06/06 PHP
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
PHP mail()函数使用及配置方法
2014/01/14 PHP
PHP按行读取文件时删除换行符的3种方法
2014/05/04 PHP
php简单实现多维数组排序的方法
2016/09/30 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
PHP简单实现记录网站访问量功能示例
2018/06/06 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
让图片旋转任意角度及JQuery插件使用介绍
2013/03/20 Javascript
图标线性回归斜着移动到指定的位置
2013/08/16 Javascript
Javascript的严格模式strict mode详细介绍
2014/06/06 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
jQuery.each使用详解
2015/07/07 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
JavaScript中关键字 in 的使用方法详解
2016/10/17 Javascript
关于Vue实现组件信息的缓存问题
2017/08/23 Javascript
使用preload预加载页面资源时注意事项
2020/02/03 Javascript
[44:40]2018DOTA2亚洲邀请赛3月30日 小组赛A组Liquid VS OG
2018/03/31 DOTA
python获取文件版本信息、公司名和产品名的方法
2014/10/05 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
全球速卖通:AliExpress(国际版淘宝)
2017/09/20 全球购物
意大利中国电子产品购物网站:Geekmall.com
2019/09/30 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
护理职业应聘自荐书
2013/09/29 职场文书
英语专业学生的自我评价
2013/12/30 职场文书
教师一岗双责责任书
2014/04/16 职场文书
财务会计求职信范文
2015/03/20 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Python趣味挑战之实现简易版音乐播放器
2021/05/28 Python
MySQL 原理与优化之Limit 查询优化
2022/08/14 MySQL
keepalived + nginx 实现高可用方案
2022/12/24 Servers