@MultipartConfig,Servlet3.0通过Part进行文件上传
2017-08-04 19:50
393 查看
@MultipartConfig 使用注解@MultipartConfig 将一个 Servlet 标识为支持文件上传。Servlet3.0 将 multipart/form-data 的 POST 请求封装成 Part,通过 Part 对文件进行上传。 Servlet3 没有提供直接获取文件名的方法,需要从请求头中解析出来
upload.html
<form action="upload" method="post" enctype="multipart/form-data"> <input type="file" name="f"> <br/> <input type="submit" name="submit"> </form>
UploadServlet//request.getpart()单文件上传
@WebServlet("/upload") @MultipartConfig public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; public UploadServlet() {} protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); // 获取请求项, 封装成Part对象 Part part = request.getPart("f"); String fileName = part.getSubmittedFileName(); System.out.println(fileName); String direc = this.getServletContext().getRealPath("/upload/"); File dirf = new File(direc); if(!dirf.exists()){ dirf.mkdirs(); } part.write(direc+fileName); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
使用request.getParts() 多文件上传
request.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); Collection<Part> parts = request.getParts(); for(Part part:parts){ String fileName = part.getSubmittedFileName(); System.out.println(fileName); if(null!=fileName&&!(fileName).trim().equals("")){ String direc = this.getServletContext().getRealPath("/upload/"); File dirf = new File(direc); if(!dirf.exists()){ dirf.mkdirs(); } part.write(direc+fileName); } }
–
可能遇到的问题:
使用Servlet3.0上传图片,无法使用part.getSubmittedFileName()方法解决
相关文章推荐
- servlet3.0 part上传文件
- servlet3.0 getPart()与getParts( 4000 )获取上传文件
- servlet3.0 getPart()与getParts()获取上传文件
- Servlet-文件上传@MultipartConfig,Part
- servlet3.0 Part接口实现form表单文件上传
- servlet 3.0 文件上传下载
- Spring中使用StandardServletMultipartResolver进行文件上传
- Servlet 3.0改进的API 实现文件上传
- servlet3.0学习之文件上传
- Servlet 3.0文件上传支持
- Servlet3.0的文件上传
- servlet3.0新特性测试,文件上传(1)
- Servlet3.0 新特性——HttpServletRequest 对文件上传的支持
- 通过Ajax方式上传文件,使用FormData进行Ajax请求
- 采用android客户端+Servlet(HttpServletRequest)进行文件批量上传
- Servlet 3.0 的文件上传功能
- Servlet文件上传||@MultipartConfig标注属性
- [Servlet3.0新特性]Serlvet文件上传
- 通过Ajax方式上传文件,使用FormData进行Ajax请求
- 通过Ajax方式上传文件,使用FormData进行Ajax请求