Lighting@刘迎光
相信了,才有可能遇见,不相信,也许只会是擦肩而过!
Toggle navigation
Lighting@刘迎光
首页
IT技术
微服务(IT)
技术问答
OpenBI
读书笔记
公众号【今日脑图】
关于我
自媒体
归档
标签
jersey1.x集合html5使用FormData上传多文件实例
jersey
html5
文件上传
FormData
restful
2017-07-12 16:08:46
822
lightingfire
jersey
html5
文件上传
FormData
restful
本文主要使用jersey1.x,结合html5的FormData对象来进行多文件提交示例讲解 # FormData FormData对象是html5的一个对象,目前的一些主流的浏览器都已经兼容。IE8及以下是不支持FormData的。FormData还支持困扰众多开发者已久的ajax的上传文件,以前我们上传文件,需要写一个表单直接刷新提交,但是这里不需要了。 # 代码示例 ## html ``` <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="js/jquery.js" type="text/javascript"></script> <script type="text/javascript"> function test(){ var form = new FormData(document.getElementById("form1")); $.ajax({ url:"http://192.168.2.8:8066/file/multiFiles/", type:"post", data:form, processData:false, contentType:false, success:function(data){ alert("pass"); }, error:function(e){ alert("错误!!"); } }); } </script> </head> <body> <form id="form1"> <input type="file" name="fileUpload" multiple="true"> <!-- 这里不能使用button标签,不然你懂得 --> <input type="button" onclick="test();" value="提交"> </form> </body> </html> ``` ## java代码 ``` import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.UriInfo; import org.apache.commons.io.IOUtils; import com.google.gson.Gson; import com.sun.jersey.core.header.FormDataContentDisposition; import com.sun.jersey.multipart.FormDataBodyPart; import com.sun.jersey.multipart.FormDataMultiPart; import com.sun.jersey.multipart.FormDataParam; /** * * @author Liuyg * @mail liuyg@liuyingguang.cn * @version * @time 2017年6月27日 * */ @Path("/file/") public class FileRest { @Context ServletContext sc; @Context private UriInfo uriInfo; @POST @Consumes(MediaType.MULTIPART_FORM_DATA) @Path("/multiFiles/") public Response files(FormDataMultiPart form,@Context HttpServletRequest request, @Context HttpServletResponse response) throws IOException { List<FormDataBodyPart> l= form.getFields("fileUpload"); for (FormDataBodyPart p : l) { InputStream is=p.getValueAs(InputStream.class); FormDataContentDisposition disposition=p.getFormDataContentDisposition(); String filename=new String(disposition.getFileName().getBytes("iso8859-1"), "utf-8"); System.out.println(filename); } return Response.ok(new Gson().toJson("success")).build(); } } ``` > by 刘迎光@萤火虫工作室 > OpenBI交流群:495266201 > MicroService 微服务交流群:217722918 > mail: liuyg#liuyingguang.cn > 博主首页(==防止爬虫==):http://blog.liuyingguang.cn
Pre:
管理十诫(读书笔记)
Next:
高效人士用超级笔记术(思维导图)
Table of content