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获得服务器端控件的ID的实现代码
Dec 28 Javascript
JS 毫秒转时间示例代码
Sep 22 Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 Javascript
jQuery Ajax 加载数据时异步显示加载动画
Aug 01 Javascript
超全面的vue.js使用总结
Feb 12 Javascript
前端图片懒加载(lazyload)的实现方法(提高用户体验)
Aug 21 Javascript
JS实现的3des+base64加密解密算法完整示例
May 18 Javascript
详解swiper在vue中的应用(以3.0为例)
Sep 20 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
JS字符串常用操作方法实例小结
Jun 24 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
JS中的继承操作实例总结
Jun 06 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
php去除字符串换行符示例分享
2014/02/13 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
PHP测试框架PHPUnit组织测试操作示例
2018/05/28 PHP
javascript offsetX与layerX区别
2010/03/12 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
jQuery图片轮播滚动切换代码分享
2020/04/20 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
js实现不提示直接关闭网页窗口
2017/03/30 Javascript
vue loadmore 组件滑动加载更多源码解析
2017/07/19 Javascript
AngularJS中的路由使用及实现代码
2017/10/09 Javascript
webpack DllPlugin xxx is not defined解决办法
2019/12/13 Javascript
教你如何将 Sublime 3 打造成 Python/Django IDE开发利器
2014/07/04 Python
Python的string模块中的Template类字符串模板用法
2016/06/27 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
Windows下anaconda安装第三方包的方法小结(tensorflow、gensim为例)
2018/04/05 Python
Python根据指定日期计算后n天,前n天是哪一天的方法
2018/05/29 Python
Python3.7实现中控考勤机自动连接
2018/08/28 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
python爬虫刷访问量 2019 7月
2019/08/01 Python
pytorch 常用线性函数详解
2020/01/15 Python
python闭包、深浅拷贝、垃圾回收、with语句知识点汇总
2020/03/11 Python
python中pdb模块实例用法
2021/01/15 Python
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
传播学专业毕业生自荐信
2013/11/04 职场文书
演讲比赛获奖感言
2014/02/02 职场文书
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
中秋手机店促销方案
2014/06/16 职场文书
医院护士见习期自我鉴定
2014/09/15 职场文书
2014年学校体育工作总结
2014/12/08 职场文书
2015年政务公开工作总结
2015/05/19 职场文书
美丽心灵观后感
2015/06/01 职场文书
CSS+HTML 实现顶部导航栏功能
2021/08/30 HTML / CSS