资源简介
能实现多个文件上传到服务器。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.xm
文件 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\me
文件 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.xm
目录 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个文件信息
- 上一篇:PCI 9056驱动
- 下一篇:U盘当做加密狗授权软件
相关资源
- 文件上传与管理系统 文件上传
- 基于springboot实现的文件上传
- socket 编程 tcp 实现文件上传
- SSM框架实现多文件上传,框架可以直
- SpringMVC文件上传和的工具类完整项目
- ssm框架下form表单实现文件上传
- springboot、vue-simple-uploader文件上传、续
- SpringMVC 跨服务器文件上传
- .net文件上传功能实现demo
- 利用ueditor的文件上传功能上传文件到
- ssm小项目,实现对数据的增删改查及
- 最适合入门SSM+bootstrap完整项目
- 局域网文件上传工具
- 一个按钮搞定excel文件上传和导入[完
- springboot文件上传路径保存数据库并且
- 配合elementuiupload组件支持分片上传功
- VC FTP文件上传程序.rar
- 仿163网盘无刷新文件上传系统.rar
- Socket实现文件上传,含多线程
- 在delphi xe7中调用七牛云存储api上传演
- upload-labs 上传训练
- 使用commons-fileupload实现的文件上传和
- SpringBoot文件上传源码
- Web版学生作业上传系统(源码)
- P2P 文件上传
- 七牛js文件上传,含后台代码,获取
- 多类型文件上传图片自动在客户端压
- redupload多文件上传控件 dll
- Netty+H5实现实时进度条文件上传,支持
- SpringBoot上传文件实例下载212710
评论
共有 条评论