package com.almostman.servlet;
import java.io.File;
import java.io.IOException;
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.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class UploadServlet extends HttpServlet{
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
DiskFileItemFactory factory = new DiskFileItemFactory();
String path = req.getRealPath("/upload");
//设置临时文件存放路径
factory.setRepository(new File(path));
//文件溢出大小为1024*1024才直接写向磁盘,此处配置既是防止直接写向磁盘
factory.setSizeThreshold(1024 * 1024);
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List<FileItem> list = (List<FileItem>)upload.parseRequest(req);
for (FileItem item : list) {
String name = item.getFieldName();
if(item.isFormField()){
String value = item.getString();
req.setAttribute(name, value);
}else{
String value = item.getName();
String fileName = value.substring(value.lastIndexOf("\\") + 1);
req.setAttribute(name, fileName);
item.write(new File(path, fileName));
}
}
} catch (Exception e) {
e.printStackTrace();
}
req.getRequestDispatcher("recvfile.jsp").forward(req, resp);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
struts010.rar (19个子文件)
struts010
.project 2KB
.mymetadata 300B
src
com
almostman
servlet
UploadServlet.java 2KB
WebRoot
WEB-INF
classes
com
almostman
servlet
UploadServlet.class 3KB
lib
commons-fileupload-1.3.1.jar 67KB
commons-io-2.4.jar 181KB
web.xml 686B
upload
fileupload.jsp 1KB
index.jsp 834B
recvfile.jsp 935B
META-INF
MANIFEST.MF 36B
.myeclipse
.settings
org.eclipse.wst.jsdt.ui.superType.container 49B
org.eclipse.wst.common.project.facet.core.xml 252B
org.eclipse.jdt.core.prefs 364B
org.eclipse.wst.jsdt.ui.superType.name 6B
com.genuitec.eclipse.j2eedt.core.prefs 1009B
org.eclipse.wst.common.component 465B
.jsdtscope 500B
.classpath 529B
共 19 条
- 1
资源评论
- vigour362015-11-23感觉并不是很好用的
- sinat_161286692015-11-03感觉并不是很好用的
- jelly_one123452014-12-01该资料不错,很有参考价值
- North_Spark2017-12-27这资源, 只是用servlet 实现的fileupload文件上传, 并没有在struts 中 实现servlet 的文件上传. 差评
- bbxyzp2018-07-26感觉并不是很好用的
Almostman
- 粉丝: 20
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功