本文为博主原创,未经允许不得转载

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进行文件上传的更多相关文章

  1. Multipart/form-data POST文件上传详解

    Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...

  2. Multipart/form-data POST文件上传详解(转)

    Multipart/form-data POST文件上传详解 理论 简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form ...

  3. 构建multipart/form-data实现文件上传

    构建multipart/form-data实现文件上传 通常文件上传都是通过form表单中的file控件,并将form中的content-type设置为multipart/form-data.现在我们 ...

  4. FormData实现文件上传实例

    单提交,文件上传是一个常用又十分麻烦的功能,以前要上传文件通常都是借助插件或者flash来实现,噼里啪啦的加载一大堆东西.自从有了HTML5的FormData后,老板再也不用担心我的上传了. Form ...

  5. HTML5 FormData实现文件上传实例

    表单提交,文件上传是一个常用又十分麻烦的功能,以前要上传文件通常都是借助插件或者flash来实现,噼里啪啦的加载一大堆东西.自从有了HTML5的FormData后,老板再也不用担心我的上传了. For ...

  6. iframe 模拟ajax文件上传and formdata ajax 文件上传

    对于文件上传 有好多种方式,一直想总结 文件上传的方法 今天就来写下 iframe  的文件上传的代码 本人语言表达能里有限,不多说了 直接上代码. 首先看 总体页面. 总共就三个文件. 实际上也就是 ...

  7. spring mvc利用MultipartResolver解析Multipart/form-data进行文件上传

    之前的表单数据都是文本数据,现记录:利用MultipartResolver进行文件上传. ①首先,需引入commons-fileUpload和commons-io jar包,pom.xml文件的坐标: ...

  8. Multipart/form-data POST文件上传

    简单的HTTP POST 大家通过HTTP向服务器发送POST请求提交数据,都是通过form表单提交的,代码如下: <form method="post"action=&qu ...

  9. .NET和.NET Core Web APi FormData多文件上传对比

    前言 最近因维护.NET和.NET Core项目用到文件上传功能,虽说也做过,但是没做过什么对比,借此将二者利用Ajax通过FormData上传文件做一个总结,通过视图提交表单太简单,这里不做阐述,希 ...

随机推荐

  1. JVM中的类加载

    JVM中的类加载 关于JVM中类的加载这部分知识在网上有太多的文章描述这部分的知识.但是多数文章都过于冗长,难以理解.这篇文章主要是一些我对JVM中类的加载的理解. 一.一句话概括 java在类加载的 ...

  2. 使用Arduino开发板连接干簧管(Reed Switch)的方法

    在现实生活中,干簧管(Reed Switch)有许多重要的应用,如磁性门开关.笔记本电脑.智能手机等.在本篇文章中,我们将了解一些干簧管的知识,并介绍如何使用Arduino开发板连接干簧管. 干簧管( ...

  3. PHP中的分支及循环语句

    这次实践的都是PHP7的语法. 感觉是以前的5差别不是那么大,只是希望越来越快吧. <?php $looking = isset($_GET['title']) || isset($_GET[' ...

  4. UPUPW和ThinkPHP安装配置

    去年弄过,今年弄起来就简单多了. 参考的是<ThinkPHP实战>

  5. 【原创】python+selenium,用xlrd,读取excel数据,执行测试用例

    # -*- coding: utf-8 -*- import unittest import time from selenium import webdriver import xlrd,xlwt ...

  6. [转]Linux-虚拟网络设备-tun/tap

    转: 原文:https://blog.csdn.net/sld880311/article/details/77854651 ------------------------------------- ...

  7. jmeter脚本中请求参数获取的几种方式

     a.从数据库获取: 譬如接口请求参数中id的值,我需要从数据库获取,如下设置: 先设置jdbc connection configuration,然后设置JDBC b.从CSV获取: 获取CSV文件 ...

  8. Mybatis分页方法

    使用方法https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md 使用 Maven 在 pom ...

  9. discuz数据批量入库接口

    近期在做社区,首选discuz,数据需要用scrapy爬虫批量入库,就写了一个php入库接口. <?php define('PW', 'abc123456');//一定要修改 if($_REQU ...

  10. djiango-异步发送邮件--celery

    安装 pip install celery==4.2.0 # celery4.x支持django1.11以上版本 试了好几个版本 就4.2.0能发送成功 1.项目目录里新建一个celery的包cele ...