上传组件(oreilly)用法demo

java 代码
  1. import java.io.*;   
  2. import java.util.*;   
  3. import javax.servlet.*;   
  4. import javax.servlet.http.*;   
  5.   
  6. import com.oreilly.servlet.MultipartRequest;   
  7.   
  8. public class UploadTest extends HttpServlet {   
  9.   
  10.   public void doPost(HttpServletRequest req, HttpServletResponse res)   
  11.                                 throws ServletException, IOException {   
  12.     res.setContentType("text/html");   
  13.     PrintWriter out = res.getWriter();   
  14.   
  15.     try {   
  16.       // Blindly take it on faith this is a multipart/form-data request   
  17.   
  18.       // Construct a MultipartRequest to help read the information.   
  19.       // Pass in the request, a directory to save files to, and the   
  20.       // maximum POST size we should attempt to handle.   
  21.       // Here we (rudely) write to /tmp and impose a 50 K limit.   
  22. //一般来说dir,filesize,encoding,都是配置在web.xml里面,通过init()方法进行加载,为了直观,demo作者使用hardcode写死      
  23.       MultipartRequest multi =   
  24.         new MultipartRequest(req, "/tmp"50 *1024 * 1024,   
  25.           new com.oreilly.servlet.multipart.DefaultFileRenamePolicy());   
  26.       out.println("<HTML>");   
  27.       out.println("<HEAD><TITLE>UploadTest</TITLE></HEAD>");   
  28.       out.println("<BODY>");   
  29.       out.println("UploadTest");   
  30. // Print the parameters we received   
  31.       out.println("Params:");   
  32. //遍历参数parameter      
  33.       Enumeration params = multi.getParameterNames();   
  34.       while (params.hasMoreElements()) {   
  35.         String name = (String)params.nextElement();   
  36.         String value = multi.getParameter(name);   
  37.         out.println(name + " = " + value);   
  38.       }   
  39.       // Show which files we received   
  40.       out.println("Files:");   
  41. //遍历上传文件名,可通过文件名获取文件      
  42.       Enumeration files = multi.getFileNames();   
  43.       while (files.hasMoreElements()) {   
  44.         String name = (String)files.nextElement();   
  45.         String filename = multi.getFilesystemName(name);   
  46.         String original = multi.getOriginalFileName(name);   
  47.         String type = multi.getContentType(name);   
  48.         File f = multi.getFile(name);   
  49.         out.println("name: " + name);   
  50.         out.println("filename: " + filename);   
  51.         if (filename != null && !filename.equals(original)) {   
  52.           out.println("original file name: " + original);   
  53.         }   
  54.         out.println("type: " + type);   
  55.         if (f != null) {   
  56.           out.println("length: " + f.length());   
  57.         }   
  58.       }   
  59.     }   
  60.     catch (Exception e) {   
  61.       e.printStackTrace(out);   
  62.     }   
  63.     out.println("</BODY></HTML>");   
  64.   }   
  65. }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值