码迷,mamicode.com
首页 > 其他好文 > 详细

简单的FileUpload文件上传

时间:2014-09-23 00:00:53      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:style   http   color   io   os   java   ar   for   文件   

引入jar包:commons-fileupload-1.3.1.jar,commons-io-1.3.2.jar

前台HTML:

<form action="./upload" method="post" enctype="multipart/form-data">
<table>
<tr>
<td><label>用户名:</label></td>
<td><input type="text" name="userName"/></td>
</tr>
<tr>
<td><label>密码:</label></td>
<td><input type="text" name="userPwd"/></td>
</tr>
<tr>
<td><label>文件名:</label></td>
<td><input type="file" name="fileName1"/></td>
</tr>
<tr>
<td><label>文件名:</label></td>
<td><input type="file" name="fileName2"/></td>
</tr>
<tr>
<td><input type="submit" value="提交"/></td>
<td><input type="reset" value="重置"/></td>
</tr>
</table>
</form>

后台配置的servlet:

public class FileUpload extends HttpServlet {
private String uploadPath = "C:\\upload\\"; // 上传文件的目录

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
super.doGet(req, resp);
}

@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

try {
// 判断是否有文件上传
boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
if (isMultiPart) {
DiskFileItemFactory factory = new DiskFileItemFactory();
// Set factory constraints
// factory.setSizeThreshold(yourMaxMemorySize);
// factory.setRepository(yourTempDirectory);
ServletContext context = this.getServletConfig()
.getServletContext();
File repository = (File) context
.getAttribute("javax.servlet.context.tempdir");
factory.setRepository(repository);
ServletFileUpload upload = new ServletFileUpload(factory);
// Set overall request size constraint
//upload.setSizeMax(yourMaxRequestSize);
List<FileItem> items = upload.parseRequest(request);
Iterator<FileItem> iter = items.iterator();
while(iter.hasNext()){
FileItem item = iter.next();

if(item.isFormField()){
String name = item.getFieldName();
String value = item.getString();
System.out.println(name+":"+value);
}else{
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isInMemory();
long sizeInBytes = item.getSize();

System.out.println("fieldName:"+fieldName);
System.out.println("fileName:"+fileName);
System.out.println("contentType:"+contentType);
System.out.println("isInMemory:"+isInMemory);
System.out.println("sizeInBytes:"+sizeInBytes);

File uploadedFile = new File(uploadPath+System.currentTimeMillis()+".txt");
item.write(uploadedFile);

//InputStream uploadedStream = item.getInputStream();
//...
//uploadedStream.close();
// Process a file upload in memory
//byte[] data = item.get();
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

}

web.xml文件配置:

<servlet>
<servlet-name>FileUpload</servlet-name>
<servlet-class>com.jt.fileupload.FileUpload</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FileUpload</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>

简单的FileUpload文件上传

标签:style   http   color   io   os   java   ar   for   文件   

原文地址:http://www.cnblogs.com/gejt/p/3986847.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!