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 面向对象 继承
May 13 Javascript
js 实现在离开页面时提醒未保存的信息(减少用户重复操作)
Jan 16 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
再谈Javascript中的异步以及如何异步
Aug 19 Javascript
巧用weui.topTips验证数据的实例
Apr 17 Javascript
jQuery实现获取form表单内容及绑定数据到form表单操作分析
Jul 03 jQuery
微信小程序实现简易table表格
Jun 19 Javascript
微信小程序实现手势滑动效果
Aug 26 Javascript
H5实现手机拍照和选择上传功能
Dec 18 Javascript
Javascript Worker子线程代码实例
Feb 20 Javascript
Vue实现菜单切换功能
Nov 08 Javascript
vue监听键盘事件的相关总结
Jan 29 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
PHP 基本语法格式
2009/12/15 PHP
浅谈php的优缺点
2015/07/14 PHP
实例讲解php数据访问
2016/05/09 PHP
启用OPCache提高PHP程序性能的方法
2019/03/21 PHP
prototype 1.5相关知识及他人笔记
2006/12/16 Javascript
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
jQuery 选择器理解
2010/03/16 Javascript
javascript定义函数的方法
2010/12/06 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
下拉菜单点击实现连接跳转功能的js代码
2013/05/19 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
JS去掉第一个字符和最后一个字符的实现代码
2014/02/20 Javascript
JQuery each()嵌套使用小结
2014/04/18 Javascript
JavaScript使用Max函数返回两个数字中较大数的方法
2015/04/06 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
jQuery操作属性和样式详解
2016/04/13 Javascript
angular源码学习第一篇 setupModuleLoader方法
2016/10/20 Javascript
Javascript计算二维数组重复值示例代码
2016/12/18 Javascript
vue项目如何刷新当前页面的方法
2018/05/18 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
微信小程序实现搜索框功能及踩过的坑
2020/06/19 Javascript
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
Python 词典(Dict) 加载与保存示例
2019/12/06 Python
pycharm 中mark directory as exclude的用法详解
2020/02/14 Python
关于python 的legend图例,参数使用说明
2020/04/17 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
5分钟实现Canvas鼠标跟随动画背景
2019/11/18 HTML / CSS
销售业务员岗位职责
2014/01/29 职场文书
四年级语文教学反思
2014/02/05 职场文书
奖学金感谢信
2015/01/21 职场文书
2015年入党决心书
2015/02/05 职场文书
酒店收银员岗位职责
2015/04/07 职场文书
关于成立领导小组的通知
2015/04/23 职场文书