本文共 1625 字,大约阅读时间需要 5 分钟。
ServletDemo类
:
@MultipartConfig@WebServlet("/ServletDemo")public class ServletDemo extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doGet(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { //获取文件之外的参数,前提是ServletDemo配置了@MultipartConfig System.out.println(req.getParameter("name")); //获取上传文件的组件 Part part = req.getPart("file"); //获取文件信息 String fileInfo= part.getHeader("content-disposition"); //fileInfo为form-data; name="file"; filename="a.png" char[] chars = fileInfo.toCharArray(); String filename = ""; int index = fileInfo.length()-2; while(chars[index]!='\"'){ filename = chars[index]+filename; index--; } InputStream input= part.getInputStream(); FileOutputStream output= new FileOutputStream("D:\\IDEA_Workspace\\SSM\\src\\images\\"+filename); BufferedInputStream inputStream = new BufferedInputStream(input); BufferedOutputStream outputStream = new BufferedOutputStream(output); int len; byte[] bytes = new byte[1024]; while((len=inputStream.read(bytes))!=-1){ System.out.println(len); outputStream.write(bytes,0,len); } //注意一定要flush一下否则无法完整写入 outputStream.flush(); inputStream.close(); outputStream.close(); }}
表单提交html文件
:
文件提交样例
转载地址:http://ualzi.baihongyu.com/