发表时间:2005年12月25日 3时4分 | ||||
| ||||
commons_fileupload是一个开源的文件上传组件
下面说说它的用法 先要到http://archive.apache.org/dist/jakarta/commons/下载两个包commons-fileupload和commons-io解压所有jar到tomcat的common/lib下 启动tomcat就可用了 下面是我的调试例子(网上抄来改的:)) test1.html -------------------------- <html> <head> <title>File Upload</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head><body bgcolor="#FFFFFF" text="#000000"> <p><font size="5"color="#FF0000"> <b>第七章 文件上传范例</b> </font></p> <form name="Form1" enctype="multipart/form-data" method="post" action="getUpload.jsp"> <p>上传文件 1: <input type="file"name="File1" size="20" maxlength="20"> </p> <p>文件1叙述: <input type="text" name="File1" size="30" maxlength="50"> </p> <p>上传文件 2: <input type="file" name="File2" size="20" maxlength="20"> </p> <p>文件2叙述: <input type="text" name="File2" size="30" maxlength="50"> </p> <p>上传文件3: <input type="file" name="File3" size="20" maxlength="20"> </p> <p>文件3叙述: <input type="text" name="File3" size="30" maxlength="50"> </p> <p> <input type="submit"value="上传"> <input type="reset" value="清除"> </p> </form> </body> </html> getUpload.jsp ---------------------- <%@ page contentType="text/html;charset=gb2312" language="java" %> <%@ page import="java.io.*" %><%@ page import="java.util.*" %> <%@ page import="org.apache.commons.fileupload.*" %> <%@ page import="org.apache.commons.io.*" %> <% // 申明将上传文件放到服务器的 / .... /upload 目录中 String saveDirectory = "f:upload//"; // 申明临时目录 String tmpDirectory = "f:temp"; // 申明限制上传文件总大小为, 单位为 byte, -1 表示无限制 int maxPostSize = 1024 * 1024; %> <% // 申明储存叙述上传文件内容的变量 String FileDescription = null; // 申明储存上传文件名称的变量 String FileName = null; // 申明储存上传文件大小的变量 long FileSize = 0; // 申明储存上传文件类型的变量 String ContentType = null; // 计算上传文件之个数 int count = 0 ;%> <% DiskFileUpload upload = new DiskFileUpload(); // 设置内存存放数据的大小, 超过则写入文件, 有设定临时目录, 临时文件置于临时目录下 upload.setSizeThreshold(4096); // 设置总上传大小限制 upload.setSizeMax(maxPostSize); // 设置临时目录 upload.setRepositoryPath(tmpDirectory); List items = upload.parseRequest(request);%> <body> <% Iterator iter = items.iterator(); int tmp = 0; FileItem tmpItem = null; while (iter.hasNext()) { tmp++; FileItem item = (FileItem) iter.next(); if (item.isFormField()) { // 如果是一般栏位, 取得文件叙述 FileDescription = item.getString(); } else { // 否则取得文件信息 FileName = item.getName(); // 因为不同的浏览器会造成传递 path + filename, 有些则只有 try { // for wintel platform FileName = FileName.substring(FileName.lastIndexOf("")+1); // for unix-like platform FileName = FileName.substring(FileName.lastIndexOf("//")+1); } catch (Exception ex ) { } ContentType = item.getContentType(); FileSize = item.getSize(); tmpItem = item; } // 因为一个文件都是两个栏位, 每读取两个栏位处理一次 if (tmp == 2 && FileSize != 0) { count ++;%> <font color="red"> 你上传的第<%= count %>个的文件:</font> <br>文件名称为:<%= FileName %> <br>文件大小为:<%= FileSize %> Bytes <br>文件类型为:<%= ContentType %> <br>文件的叙述:<%= saveDirectory + FileName %> <br><br> <% // 将文件写入存档目录 try { //out.println(FileName); File uploadedFile = new File(saveDirectory + FileName); tmpItem.write(uploadedFile); } catch ( Exception ex ){} tmp = 0; } else if ( tmp == 2 && FileSize == 0) { tmp = 0; } } // end while %> 您总共上传<font color="red"><%= count %></font>个文件 </body> </html> |
commons_fileupload凌晨学习笔记
最新推荐文章于 2020-02-08 19:52:03 发布