重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
怎么在Java Web项目中利用Html5 FormData实现一个文件上传功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
十余年的新都网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整新都建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“新都网站设计”,“新都网站推广”以来,每个客户项目都认真落实执行。
首先html页面定义有两种:
Html1
上面第19行代表初始化formdata对象,其有两种创建方法,对于使用html2来说使用该方式来创建,使用html1来说可以使用 var data = new FormData(document.getElementById("#formfile");
两种创建方式基本没有区别;第22-23行是可以给formdata添加其他属性的,,按需选择,21行是添加文件必须要写的.ajax部分 32 33行是必须要设置的,网上有说明,我就不多说了;
Java代码部分:
public void multipleCommentImageUpload(HttpServletRequest request, HttpServletResponse response, @RequestParam(value = "file", required = false)Listfiles) { response.setContentType("text/html;charset=utf-8"); UserSession user = WebUtil.getSessionUser(request); for (MultipartFile file:files) { String fileName = file.getOriginalFilename(); //获取文件名 } UploadMessage message = new UploadMessage(); Map map1 = new HashMap(); try { Map map = this.multipleUpload(request, files); }; protected Map multipleUpload(HttpServletRequest request, List files) throws IllegalStateException, IOException { Map map =new HashMap(); for(MultipartFile file:files) { if (file == null) { map.put("status",-1); map.put("statusInfo","上传参数不能为空"); return map; } } //创建一个通用的多部分解析器 CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext()); //判断 request 是否有文件上传,即多部分请求 if (multipartResolver.isMultipart(request)) { //转换成多部分request MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request; Enumeration params = multiRequest.getParameterNames(); String upDir = null; //获得formdata对象中自定义的一些属性,是枚举类型 while (params.hasMoreElements()) { String name = (String)params.nextElement(); upDir = multiRequest.getParameter("upDir"); } //取得request中的所有文件名 Iterator iter = multiRequest.getFileNames(); List
看完上述内容,你们掌握怎么在Java Web项目中利用Html5 FormData实现一个文件上传功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!