纯js调用Servlet图片上传(XMLHttpRequest/FormData方式IE10+才行)(获取参数为空的问题)

JS端

    //上传文件方法
    function upladFile() {
        //纯js调用Servlet图片上传(XMLHttpRequest/FormData方式IE10+才行)
        //注意(浏览器高速模式/IE10+才行,IE10-不支持FormData())
        var form = new FormData(); // FormData 对象
        form.append("employeeId", "11111111111111111111111111111"); // 文件对象
        form.append("fileFlag", "12");
        form.append("base64Data", "data:image/jpeg;base64,/9j/4AAQSkZJRgABAgEBLAEsAAD/2wBDAAgGBgc");

        var url = "http://.../jsUploadBase64Servlet";
        var xhr = new XMLHttpRequest(); // XMLHttpRequest 对象
        xhr.open("post", url); //post方式,url为服务器请求地址,true 该参数规定请求是否异步处理。
        //xhr.setRequestHeader("Content-Type", "
application/x-www-form-urlencoded");//表单数据传输
        //xhr.setRequestHeader("Content-Type", "
multipart/form-data");//二进制数据传输
        //xhr.setRequestHeader("Content-Type", "
application/json");//Json数据传输

        xhr.send(form); //开始上传,发送form数据
        
        alert("Finish!!!");
    }


Java端

        //like12 add,bug,20190331
        //form提交的时候,enctype为mutilpart/form-date,以二进制形式传输
        //加上这两句,重新封装request,再接收参数就可以了
        MultipartResolver resolver = new CommonsMultipartResolver(
                request.getSession().getServletContext());
        MultipartHttpServletRequest multiRequest = resolver.resolveMultipart(request);
        
        String employeeId = multiRequest.getParameter("employeeId");
        String fileFlag = multiRequest.getParameter("fileFlag");
        String base64Data = multiRequest.getParameter("base64Data");
        System.out.println("---" + employeeId);
        System.out.println("---" + fileFlag);
        System.out.println("---" + base64Data);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值