几种常见的文件上传技术
- Servlet3.0
- JSPSmartUpload(嵌入到JSP中完成文件上传,主要用于Model1年代)
- FileUpload(Apache的文件上传组件)
- Struts2(底层是FileUpload)
文件上传的要素
- 表单的提交方式必须是POST
- 表单中需要有文件上传的表单元素:这个元素必须有name属性和值:
- 表单的enctype属性的值必须是multipart/form-data.(设置了才能或得到文件名及文件内容).
Servlet3.0
request.setCharacterEncoding(“UTF-8”);
String filedesc = request.getParameter(“filedesc”);
System.out.println(“文件描述”+filedesc);
// 接收文件:
Part part = request.getPart(“upload”);
long size = part.getSize();// 获得文件大小:
System.out.println(“文件大小:”+size);
String name = part.getName();
System.out.println(“文件表单中的name属性的名称”+name);
// 获得文件名:
String header = part.getHeader(“Content-Disposition”);
int idx = header.lastIndexOf(“filename=\”“);
String fileName = header.substring(idx+10