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

本文主要是介绍纯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);

这篇关于纯js调用Servlet图片上传(XMLHttpRequest/FormData方式IE10+才行)(获取参数为空的问题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/816540

相关文章

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Python版本信息获取方法详解与实战

《Python版本信息获取方法详解与实战》在Python开发中,获取Python版本号是调试、兼容性检查和版本控制的重要基础操作,本文详细介绍了如何使用sys和platform模块获取Python的主... 目录1. python版本号获取基础2. 使用sys模块获取版本信息2.1 sys模块概述2.1.1

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常