vue使用formData进行文件上传
本文为博主原创,未经允许不得转载
1.vue页面
<ux-form ref="formRef" layout="vertical">
<ux-form-item label="证书名称">
<ux-field-decorator name="authorizationDomain">
<ux-input v-model="form.authorizationDomain" />
</ux-field-decorator>
</ux-form-item>
<ux-form-item label="客户">
<ux-field-decorator name="customerId">
<ux-select v-model="form.customerId" name="customerId"
placeholder="请选择客户">
<ux-option
v-for="customerInfo in customerArray"
:key="customerInfo.id"
:label="customerInfo.name"
:value="customerInfo.id">
</ux-option>
</ux-select>
</ux-field-decorator>
</ux-form-item>
<ux-form-item label="上传公钥">
<ux-field-decorator name="publicKey">
<ux-upload name="publicKey" v-model="publicFileList" :multiple="false" control
@change="onPublicChange" :before-upload="beforeUpload">
<ux-button icon="upload">浏览</ux-button>
注:公钥:crt|pem|cer
</ux-upload>
</ux-field-decorator>
</ux-form-item>
<ux-form-item label="上传私钥">
<ux-field-decorator name="privateKey">
<ux-upload name="privateKey" v-model="privateFileList" control
@change="onPrivateChange" :before-upload="beforeUpload ">
<ux-button icon="upload">浏览</ux-button>
注:私钥:key
</ux-upload>
</ux-field-decorator>
</ux-form-item>
</ux-form>
2.上传文件时的校验
onPublicChange({fileList}) {
try {
var file = fileList[fileList.length - 1];
if (file && !/.(crt|pem|cer)$/.test(file.name)){
UxMessage.warning('请上传正确格式的公钥');
return;
}
this.publicFileList = fileList.slice(fileList.length - 1, fileList.length);
} catch(e) {
console.log(e);
}
},
onPrivateChange({fileList}) {
try {
var file = fileList[fileList.length - 1];
if (file && !/.(key)$/.test(file.name)){
UxMessage.warning('请上传正确格式的私钥');
return;
}
this.privateFileList = fileList.slice(fileList.length - 1, fileList.length);
} catch(e) {
console.log(e);
}
},
3.使用formData上传后台:
//创建 formData 对象
let formData = new FormData();
//多个文件上传
formData.append("publicFile", publicKey); // 文件对象
formData.append("privateFile", privateKey); // 文件对象
formData.append("authorizationDomain", values.authorizationDomain);
formData.append("customerId", values.customerId); _this.$http.post('/certificate/updateCheck.do',formData)
.then(function (response) {
}
4.java代码:
@ResponseBody
@RequestMapping(value = "/updateCheck", method = {RequestMethod.POST})
public RequestResult updateCheck(Certificate certificate) {
}
public class Certificate {
private Long customerId;
private String authorizationDomain;
private MultipartFile publicFile;
private MultipartFile privateFile;
}
5.效果图:

vue使用formData进行文件上传的更多相关文章
- Multipart/form-data POST文件上传详解
Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...
- Multipart/form-data POST文件上传详解(转)
Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...
- 构建multipart/form-data实现文件上传
构建multipart/form-data实现文件上传 通常文件上传都是通过form表单中的file控件,并将form中的content-type设置为multipart/form-data.现在我们 ...
- FormData实现文件上传实例
单提交,文件上传是一个常用又十分麻烦的功能,以前要上传文件通常都是借助插件或者flash来实现,噼里啪啦的加载一大堆东西.自从有了HTML5的FormData后,老板再也不用担心我的上传了. Form ...
- HTML5 FormData实现文件上传实例
表单提交,文件上传是一个常用又十分麻烦的功能,以前要上传文件通常都是借助插件或者flash来实现,噼里啪啦的加载一大堆东西.自从有了HTML5的FormData后,老板再也不用担心我的上传了. For ...
- iframe 模拟ajax文件上传and formdata ajax 文件上传
对于文件上传 有好多种方式,一直想总结 文件上传的方法 今天就来写下 iframe 的文件上传的代码 本人语言表达能里有限,不多说了 直接上代码. 首先看 总体页面. 总共就三个文件. 实际上也就是 ...
- spring mvc利用MultipartResolver解析Multipart/form-data进行文件上传
之前的表单数据都是文本数据,现记录:利用MultipartResolver进行文件上传. ①首先,需引入commons-fileUpload和commons-io jar包,pom.xml文件的坐标: ...
- Multipart/form-data POST文件上传
简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form method="post"action=&qu ...
- .NET和.NET Core Web APi FormData多文件上传对比
前言 最近因维护.NET和.NET Core项目用到文件上传功能,虽说也做过,但是没做过什么对比,借此将二者利用Ajax通过FormData上传文件做一个总结,通过视图提交表单太简单,这里不做阐述,希 ...
随机推荐
- php和mysql交互 面向对象
不返回结果集 <?php //使用对象属性和方法来插入数据 header('Content-type:text/html;carset=utf8'); $con=new mysqli('loca ...
- Spring @Cacheable注解 && 事务@Transactional 在同一个类中的方法调用不生效
@Cacheable 注解在对象内部调用不会生效 代码示例:ProductServiceImpl.java public List<ProductInfoVO> getProductLis ...
- MySQL/MariaDB数据库的各种日志管理
MySQL/MariaDB数据库的各种日志管理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.事务日志 (transaction log) 1>.Innodb事务日志相 ...
- Python入门篇-递归函数Recursion
Python入门篇-递归函数(recursion) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.递归概述 (1)函数直接或者间接调用自身就是递归: (2)递归需要有边界,递归 ...
- 转一篇关于epoll模型的博文
以前就看过这篇关于epoll文章,现在又翻出来看了一下,很久不看的知识真是容易忘啊. 原文出处: http://blog.163.com/huchengsz@126/blog/static/73483 ...
- JMeter压测时报“内存不足”故障的9个简单解决方案
Test failed! java.lang.OutOfMemoryError: Java heap space 测试失败了!java.lang.OutOfMemoryError:Java堆空间 在不 ...
- C# 上传大文件
上传大文件首先要修改web.config文件,否则上传报错.在web.config添加如下配置maxRequestLength表示能上传的最大文件值,单位是KB,requestLengthDiskTh ...
- kafka没配置好,导致服务器重启之后,topic丢失,topic里面的消息也丢失
转,原文:https://blog.csdn.net/zfszhangyuan/article/details/53389916 ----------------------------------- ...
- Thinkphp下记录和统计时间(微秒)和内存使用情况
* 记录和统计时间(微秒)和内存使用情况 * 使用方法: * <code> * G('begin'); // 记录开始标记位 * // ... 区间运行代码 * G('end'); // ...
- Go语言在国产CPU平台上应用前景的探索与思考
http://www.chinaaet.com/article/3000087559 0 引言 CPU是电子产品的核心,代表着信息产业的发展水平.CPU发展至今已经有四十多年的历史了,实际就是Inte ...