`

common file upload 实现文件上传

阅读更多

将commons-fileupload-1.2.jar和commons-io-1.3.2.jar导入到项目库文件目录lib下

1、demo.html

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>File upload</title>
</head>
<body>
<form name="myform" action="fileupload" method="post" enctype="multipart/form-data">
  File:<br>
  <input type="file" name="myfile"><br><br>
  <input type="submit" name="submit" value="Commit">
</form>
</body>
</html>

2 、Upload.java

package org.opensource.util

import java.io.File;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;

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

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws IOException, ServletException {
  try {
   File tempfile = new File(System.getProperty("java.io.tmpdir"));//采用系统临时文件目录      
   DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
   diskFileItemFactory.setSizeThreshold(4096);  // 设置缓冲区大小,这里是4kb
   diskFileItemFactory.setRepository(tempfile);  /设置缓冲区目录
   ServletFileUpload fu = new ServletFileUpload(diskFileItemFactory);
   fu.setSizeMax(4194304);
   List fileItems = fu.parseRequest(request);
   Iterator i = fileItems.iterator();
   while (i.hasNext()) {
    FileItem fi = (FileItem) i.next();
    String fileName = fi.getName();
    if (fileName != null) {
     File fullFile = new File(fi.getName());
     File savedFile = new File(uploadPath, fullFile.getName());
     fi.write(savedFile);
    }
   }
   System.out.println("upload succeed");
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public void init() throws ServletException {
  File uploadPath = new File("D:\\upload");
  if (!uploadPath.exists()) {
   uploadPath.mkdirs();
  }

 }
}

3、web.xml

<servlet></servlet>
      <servlet-name></servlet-name>Upload
      <servlet-class></servlet-class>org.opensource.util.Upload
   
   <servlet-mapping></servlet-mapping>
     <servlet-name></servlet-name>Upload
     <url-pattern></url-pattern>/fileupload
  

分享到:
评论
2 楼 zxsy007x 2009-09-28  
学习,有点看不太明白。
1 楼 ywg2008 2007-11-27  
这个可以用,强悍!!
学习。。。

相关推荐

Global site tag (gtag.js) - Google Analytics