图片文件换汤不换药,只要注意前端的写法即可

1.饿了么组件可以利用 http-request 的属性对上传进行自定义 :http-request="uploadFile"

2.设置文件FormData对象传入请求

const formdata = new FormData();
const file = params.file;
formdata.append("file", file);

3.全部代码

<template>
<div style="margin-top:5%">
<el-upload
:onError="uploadError"
:onSuccess="uploadSuccess"
class="upload-demo"
ref="upload"
:auto-upload="false"
accept=".eml"
multiple
:before-upload="beforeUpload"
action=" "
:http-request="uploadFile"
>
<el-button slot="trigger" size="small" type="primary">----</el-button>
<el-button slot="trigger" size="small" type="primary">----</el-button>
<el-button slot="trigger" size="small" type="primary">----</el-button>
<el-button slot="trigger" size="small" type="primary">----</el-button>
<el-button slot="trigger" size="small" type="primary">选取邮件</el-button> <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传邮件</el-button>
<div slot="tip" class="el-upload__tip">可以同时上传多个eml文件至服务器</div>
</el-upload>
</div>
</template>
<script>
import axios from "axios";
export default {
data() {
return {};
},
computed: {
//进入的用户
userSO_json() {
let userSO_json = JSON.parse(sessionStorage.getItem("userSO_json"));
return userSO_json;
}
},
methods: {
/**
* 自定义:http-request="uploadFile"之后,回调方法暂且失效,所以提示信息应该写在axios里面
*/
// 上传成功后的回调
uploadSuccess(response, file, fileList) {
console.log("上传文件", response);
this.$message({
showClose: true,
message: "恭喜你,邮件上传成功",
type: "success"
});
},
// 上传错误后的回调
uploadError(err, file, fileList) {
if (err.message != "") {
this.$message.warning(err.message);
} else {
this.$message.warning("网络错误,不能访问");
}
},
uploadFile(params) {
const formdata = new FormData();
const file = params.file;
formdata.append("file", file);
axios
.post("/api/EmlUploadController/uploadFile?userName="+this.userSO_json.userName, formdata, {
headers: {
//头部信息
"Content-Type": "multipart/form-data",
token: this.userSO_json.token
}
})
.then(response => {
this.$message({
showClose: true,
message: "恭喜你,邮件上传成功",
type: "success"
});
})
.catch(error => {
//前端的token留在点击退出按钮那里删除,这里就只是提示过期
if (error.message != "") {
this.$message.warning("此封一模一样邮件你已经上传过了");
} else {
this.$message.warning("后端token过期,请重新登录");
}
});
},
//添加任务
async beforeUpload(file) {
console.log("beforeUpload");
// const extension = file.name.split(".")[1] === "eml";
// const isLt2M = file.size / 1024 / 1024 < 10;
// if (!extension) {
// console.log("上传邮件只能是 eml格式!");
// }
// if (!isLt2M) {
// console.log("上传邮件大小不能超过 10MB!");
// }
// return extension && isLt2M;
}, //提交
submitUpload() {
this.$refs.upload.submit();
}
}
};
</script>
<style scoped>
.el-table--border,
.el-table--group {
border: none;
}
.el-table__header-wrapper th:nth-last-of-type(2) {
border-right: none;
}
.el-table--border td:nth-last-of-type(1) {
border-right: none;
}
.el-table--border::after,
.el-table--group::after {
width: 0;
}
.el-select .el-input {
width: 180px;
}
.input-with-select .el-input-group__prepend {
background-color: #fff;
}
.input-with-select {
margin-left: -5px;
}
.select {
margin-left: 0px;
}
.input-with-select {
background-color: #fff;
width: 390px;
}
.pagination {
height: 80px;
text-align: center;
}
.choose {
float: left;
}
.upload-demo {
float: left;
}
.button1 {
left: 40%;
}
.button2 {
text-align: center;
}
.divider {
margin: 0;
}
.conditionalQuery {
float: right;
height: 60px;
margin-right: 80px;
}
</style>

饿了么Element UI之Upload组件图片上传【原创】的更多相关文章

  1. vue问题三:element ui的upload组件上传图片成功和移除事件

    element ui的upload组件上传图片成功和移除事件: 登录后获取到后台传的token存到中: sessionStorage.setItem("token",data.ob ...

  2. 前端element ui 文件base64加密字符串 上传

    <el-form-item label="附件" prop="attachment"> <el-upload :multiple=" ...

  3. UI组件--element-ui--Upload多组件自定义上传

    需求: 提交详细信息的表单, 并上传对应图片(如下图), 后台接口要求表单数据和图片需要一次上传完成.. 分析: 实际上, 每个element-ui Upload组件都应发送一次请求, 很明显不符合我 ...

  4. antd组件Upload实现自己上传

    前言 在实现图片上传时,可能需要用到Upload,但是它默认的上传方式是加入图片后直接上传,如果要实现最后再一次性上传,需要自定义内容. //添加按钮的样式 const uploadButton = ...

  5. 06.LoT.UI 前后台通用框架分解系列之——浮夸的图片上传

    LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/du ...

  6. Jquery图片上传组件,支持多文件上传

    Jquery图片上传组件,支持多文件上传http://www.jq22.com/jquery-info230jQuery File Upload 是一个Jquery图片上传组件,支持多文件上传.取消. ...

  7. vue图片上传组件

    前言:很多项目中都需要用到图片上传功能,而其多处使用的要求,为了避免重复造轮子,让我决定花费一些时间去深入了解,最终封装了一个vue的图片上传组件.现将总结再次,希望有帮助. Layout <d ...

  8. 图片上传组件webuploader

    前端组件webuploader 当时也是搞了很久参考这种demo,但是没记.现在事后大致总结下.直接上大概代码(我使用asp.net  MVC来做的): 执行顺序:(get)Record/Add——A ...

  9. 图片上传--Upload

    图片上传--Upload 图片上传基于spring框架写的代码: 1.首先:我们要再springmvc中添加试图解析器: <!-- 图片解析器 --> <bean id=" ...

  10. MVC文件上传05-使用客户端jQuery-File-Upload插件和服务端Backload组件自定义上传文件夹

    在零配置情况下,文件的上传文件夹是根目录下的Files文件夹,如何自定义文件的上传文件夹呢? MVC文件上传相关兄弟篇: MVC文件上传01-使用jquery异步上传并客户端验证类型和大小  MVC文 ...

随机推荐

  1. 【Spring源码分析】Spring Scope功能中的动态代理 - Scoped Proxy

    本文基于Springboot 3.3.2及Springcloud 2023.0.1版本编写. Spring Scoped Proxy是什么 在使用Spring cloud配置中心动态配置更新功能时,笔 ...

  2. That's not my Neighbor 之 Chester 问题答案

    Q: What is the meaning of life, the universe and everything else? A: 42 参见:生命.宇宙以及任何事情的终极答案 Q: What ...

  3. 为何不要随便用from xx import *

    新单位,新工作,远程办公,你想想有多麻烦吧. 一块块看每个模块的详细功能. 看到一个函数,返回值也是一个函数,这本来没啥难的,但是文件里只出现一次.怎么都找不到来自哪个文件,后来全项目搜才找到,原来来 ...

  4. Logstash 配置Java日志格式的方法

    Logstash 是用于日志收集的开源工具,通常与 Elasticsearch 和 Kibana 一起使用,形成 ELK Stack(现在称为 Elastic Stack).Logstash 非常灵活 ...

  5. [JS设计模式]:策略模式及应用-计算奖金、表单验证的实现(5)

    介绍 策略模式的意义是定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.此模式让算法的变化不会影响到使用算法的客户. 实现 举一个例子,比如我们做数据合法性校验,一般是通过swich来实现 ...

  6. PYRAFORMER: 用于长时间序列建模和预测的低复杂度金字塔注意力《PYRAFORMER: LOW-COMPLEXITY PYRAMIDAL ATTENTION FOR LONG-RANGE TIME SERIES MODELING AND FORECASTING》(金字塔注意力模块机制、PAM、CSCM、多尺度)

    今天是2022年10月1日,今天重读一遍这篇论文. 10月1日16:48,上次读是4月20日,时间过得好快. 论文:PYRAFORMER: LOW-COMPLEXITY PYRAMIDAL ATTEN ...

  7. WPF 实现一个吃豆豆的Loading加载动画

    运行的效果如下 先引入一下我们需要的库 在nuget上面搜一下"expression.Drawing",安装一下这个包 我们再创建一个Window,引入一下这个包的命名空间 我们设 ...

  8. EF Core – ExecuteUpdate and ExecuteDelete (Bulk updates 批量更新和删除)

    前言 EF Core 在 SaveChanges 之后会一句一句的去更新和删除数据. 有时候这个效率是很差的. 而 SQL 本来就支持批量更新和删除, 所以是 EF Core 的缺失. 在 EF Co ...

  9. SQL Server – 树结构 (二叉树, 红黑树, B-树, B+树)

    前言 很久以前有学习过各种树结构, 但后来真的没有在实际项目中运用到. 毕竟我主要负责的都是写业务代码. 太上层了 但是忘光光还是很可惜的. 所以久久可以复习一下. 记得概念也好, 帮助思考. 参考: ...

  10. SpringMVC —— RESTful入门

    RESTful入门案例   1.设定http请求动作(动词) @RequestMapping(value = "/users",method = RequestMethod.POS ...