上传单文件到服务器
应公司要求,在HTML5页面上实现上传文件到服务器,对于一个还没毕业的实习生菜鸟来说,这可不得了-----不会,网上各种百度,找各种博客还是没解决,最后还是请教了公司的大神,人家给卸了一个例子,然后根据人家写的终于把这个上传文件搞定。
好了,开始上代码。
HTML5代码:
<form name="upform" action="" method="POST"> <input type ="file" name="myfile1" id="myfile1"/><br/> <input type ="file" name="myfile2" id="myfile2"/><br/> 备注:<input type="text" name="mydata" id="mydata"/><br/> <input type="button" value="确定" onclick="upload()"/><br/> </form>
js代码:
FormData可以把它理解成一个虚拟的表单对象,它只有一个方法append,我们可以通过append向FormData里面添加各种需要提交的数据。
url:/adata/adata/payment/PaymentAction/upload.menu----指的是你Java接受信息的action路径
_pathName=/adata//payment.jsp-----------指的是你HTML5页面的虚拟路径。
alert(result);-------指的是从Java后台返回的信息。
function upload() { mydata = document.getElementById("mydata").files[0]; formData = new FormData(); formData.append("mydata", mydata); $.ajax({ contentType:"multipart/form-data", url:"/adata/adata/payment/PaymentAction/upload.menu?_pathName=/adata//payment.jsp", type:"POST", data:formData, dataType:"text", processData: false, // 告诉jQuery不要去处理发送的数据 contentType: false, // 告诉jQuery不要去设置Content-Type请求头 success: function(result){ alert(result); } }); }
Java代码:
String savePath = "d:/";//存储路径 String retMsg = "";//定义将返回给客户端的信息 try { if (ServletFileUpload.isMultipartContent(request)) { List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { if (!item.isFormField()) {// 过滤掉表单中非文件域 String fileType = item.getName().substring(item.getName().lastIndexOf(".") + 1).toLowerCase();//文件类型 String fileName = new Date().getTime() + "." + fileType; //保存的文件名 String filePath = savePath + "\\" + fileName; //保存的文件路径 BufferedInputStream in = new BufferedInputStream(item.getInputStream());// 获得文件输入流 BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(new File(filePath)));// 获得文件输出流 org.apache.commons.fileupload.util.Streams.copy(in, out, true);// 开始把文件写到指定的上传文件夹 retMsg += "上传文件成功!"; in.close(); out.close(); } } } response.setContentType("text/html;charset=utf8"); PrintWriter pw = response.getWriter(); pw.print(retMsg); pw.flush(); pw.close(); //根据自己需要返回页面一个 retMsg // return retMsg 证明上传成功 } catch (Exception e) { e.printStackTrace(); }
总结
以上所述是小编给大家介绍的基于HTML5+js+Java实现单文件文件上传到服务器功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
本文向大家介绍简单实现js上传文件功能,包括了简单实现js上传文件功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现上传文件功能的具体代码,供大家参考,具体内容如下 一、用input完成上传,效果图如 选择文件后,提交后出现图片url 二、传输格式采用form-data形式。 html代码 js部分 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大
本文向大家介绍基于Spring实现文件上传功能,包括了基于Spring实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 本小节你将建立一个可以接受HTTP multi-part 文件的服务。 你将建立一个后台服务来接收文件以及前台页面来上传文件。 要利用servlet容器上传文件,你要注册一个MultipartConfigElement类,以往需要在web.xml 中配置<multipar
本文向大家介绍java实现文件上传功能,包括了java实现文件上传功能的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现文件上传的具体代码,供大家参考,具体内容如下 一、文件上传准备工作 对于文件上传,浏览器在上传的过程中将文件以流的形式提交到服务器。 可以选择apache的commons-fileupload包作为文件上传组件,commons-fileupload包依赖于
本文向大家介绍基于Java文件输入输出流实现文件上传下载功能,包括了基于Java文件输入输出流实现文件上传下载功能的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Java实现文件上传下载功能的具体代码,供大家参考,具体内容如下 前端通过form表单的enctype属性,将数据传递方式修改为二进制”流“的形式,服务端(servlet)通过 getInputStream() 获取流信息,
问题内容: 我的问题有点说明了一切。我目前正在成功地将Uploadify(Flash + Ajax)用于Servlet(带有OWASP ESAPI覆盖的公共上传),但是我想知道如何构建HTML5支持,或者说具有Flash支持的HTML5。 我知道如何使HTML5 DnD正常工作,但是我不太了解Java Servlet连接和/或后端的机制。我搜索了很多地方,但找不到任何答案,因此,我们将不胜感激。
本文向大家介绍基于SpringBoot上传任意文件功能的实现,包括了基于SpringBoot上传任意文件功能的实现的使用技巧和注意事项,需要的朋友参考一下 一、pom文件依赖的添加 二、controller层 三、实现的service层 四、在application.properties文件上配置上传的属性 spring.http.multipart.max-file-size=128KB spr