zoukankan      html  css  js  c++  java
  • 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.效果图:

  • 相关阅读:
    LR12解决不能打开webTours服务问题
    python中join()方法介绍
    python中的sort方法和sorted方法
    如何发送最新的测试报告到目标邮箱?
    python2.7发送邮件失败之——邮箱安全问题
    python2.7发送邮件失败之——代码问题
    python2.7发送邮件失败之——SMTPAuthenticationError问题
    使用HTMLTestRunner在目标目录下并未生成HTML文件解决办法
    python标准日志模块logging及日志系统设计
    性能测试需求分析
  • 原文地址:https://www.cnblogs.com/zjdxr-up/p/10846630.html
Copyright © 2011-2022 走看看