• 大小: 1.63MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-31
  • 语言: 其他
  • 标签: 文件上传  

资源简介

能实现多个文件上传到服务器。eclipse3.2直接导入便可运行。

资源截图

代码片段和文件信息

package com.longtop.picc.fileUpload.servlet;

import java.io.IOException;
import java.io.PrintWriter;

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

import org.apache.commons.fileupload.*;
import java.util.*;
import java.util.regex.*;
import java.io.*;
import org.apache.commons.fileupload.servlet.*;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;

public class FileUpload extends HttpServlet {

private String uploadPath = ““; // 用于存放上传文件的目录

private File tempPath = new File(
“D:\\“); // 用于存放临时文件的目录

public void doPost(HttpServletRequest req HttpServletResponse res)
throws ServletException IOException {
res.setContentType(“text/html; charset=GB18030“);
PrintWriter out = res.getWriter();
System.out.println(req.getContentLength());
System.out.println(req.getContentType());
DiskFileItemFactory factory = new DiskFileItemFactory();
// maximum size that will be stored in memory
// 允许设置内存中存储数据的门限,单位:字节
factory.setSizeThreshold(4096);
// the location for saving data that is larger than getSizeThreshold()
// 如果文件大小大于SizeThreshold,则保存到临时目录
factory.setRepository(new File(
“D:\\“));

ServletFileUpload upload = new ServletFileUpload(factory);
// maximum size before a FileUploadException will be thrown
// 最大上传文件,单位:字节
upload.setSizeMax(1000000);
try {
List fileItems = upload.parseRequest(req);
// assume we know there are two files. The first file is a small
// text file the second is unknown and is written to a file on
// the server
Iterator iter = fileItems.iterator();

// 正则匹配,过滤路径取文件名
String regExp = “.+\\\\(.+)$“;

// 过滤掉的文件类型
String[] errorType = { “.exe“ “.com“ “.cgi“ “.asp“ };
Pattern p = Pattern.compile(regExp);
String itemNo = ““;// 文件存放路径
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();

// 忽略其他不是文件域的所有表单信息
if (!item.isFormField()) {
String name = item.getName();
long size = item.getSize();
if ((name == null || name.equals(““)) && size == 0)
continue;
Matcher m = p.matcher(name);
boolean result = m.find();
if (result) {
for (int temp = 0; temp < errorType.length; temp++) {
if (m.group(1).endsWith(errorType[temp])) {
throw new IOException(name + “: wrong type“);
}
}
try {

// 保存上传的文件到指定的目录

// 在下文中上传文件至数据库时,将对这里改写
item.write(new File(“d:\\“ + m.group(1)));

out.print(name + “  “ + size + “
“);

} catch (Exception e) {
out.println(e);
}

} else {
throw new IOException(“fail to upload“);
}
}
}
} catch (IOException e) {
out.println(e);
} catch (FileUploadException e) {
out.println(e);
}
}

public void init() throws ServletException {
t

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        472  2009-04-10 10:04  test\.classpath

     文件        849  2009-04-10 10:04  test\.project

     文件        334  2009-04-10 10:04  test\.settings\org.eclipse.jdt.core.prefs

     文件        210  2009-04-10 10:04  test\.settings\org.eclipse.jst.common.project.facet.core.prefs

     文件        436  2009-04-10 10:04  test\.settings\org.eclipse.wst.common.component

     文件        229  2009-04-10 10:04  test\.settings\org.eclipse.wst.common.project.facet.core.xml

     文件       4472  2009-05-19 16:43  test\build\classes\com\longtop\picc\fileUpload\servlet\FileUpload.class

     文件       3381  2009-05-19 11:04  test\src\com\longtop\picc\fileUpload\servlet\FileUpload.java

     文件        138  2009-05-19 10:57  test\WebContent\images\icon_close.gif

     文件        131  2009-05-19 11:01  test\WebContent\images\icon_open.gif

     文件       2391  2009-05-19 11:02  test\WebContent\jsp\index.html

     文件         39  2009-04-10 10:04  test\WebContent\meta-INF\MANIFEST.MF

     文件      31825  2009-05-19 10:20  test\WebContent\WEB-INF\lib\commons-fileupload.jar

     文件     109043  2009-05-19 10:20  test\WebContent\WEB-INF\lib\commons-io-1.4.jar

     文件    1232111  2009-04-23 16:56  test\WebContent\WEB-INF\lib\iText.jar

     文件     331811  2009-04-23 16:56  test\WebContent\WEB-INF\lib\iTextAsian.jar

     文件      94457  2009-05-19 10:27  test\WebContent\WEB-INF\lib\javax.servlet.jar

     文件      47867  2009-05-19 10:27  test\WebContent\WEB-INF\lib\javax.servlet.jsp.jar

     文件       1105  2009-05-19 10:36  test\WebContent\WEB-INF\web.xml

     目录          0  2009-05-19 16:57  test\build\classes\com\longtop\picc\fileUpload\servlet

     目录          0  2009-05-19 16:57  test\build\classes\com\longtop\picc\fileUpload

     目录          0  2009-05-19 16:57  test\src\com\longtop\picc\fileUpload\servlet

     目录          0  2009-05-19 16:57  test\build\classes\com\longtop\picc

     目录          0  2009-05-19 16:57  test\src\com\longtop\picc\fileUpload

     目录          0  2009-05-19 16:57  test\build\classes\com\longtop

     目录          0  2009-05-19 16:57  test\src\com\longtop\picc

     目录          0  2009-05-19 16:57  test\build\classes\com

     目录          0  2009-05-19 16:57  test\src\com\longtop

     目录          0  2009-05-19 16:57  test\WebContent\WEB-INF\lib

     目录          0  2009-05-19 16:57  test\build\classes

............此处省略13个文件信息

评论

共有 条评论