打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
java 支持 超大上G , 多附件上传
WEB.XML 文件

Java代码
<listener>
<listener-class><!-- 临时文件收集器 , 支持超大附件必须项 -->
org.apache.commons.fileupload.servlet.FileCleanerCleanup
</listener-class>
</listener>

<context-param>
<param-name>tempXlsPath</param-name><!-- 要上传的目录 -->
<param-value>/WEB-INF/temp/</param-value>
</context-param>

servlet



Java代码
package com.thams.web.fileServlet;

import java.io.File;
import java.io.IOException;
import java.util.List;

import javax.servlet.ServletContext;
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.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.FileCleanerCleanup;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FileCleaningTracker;
import org.apache.commons.io.FilenameUtils;
import org.apache.log4j.Logger;

/**
* @author serv
*/
public class UploadServlet extends HttpServlet {

private static Logger log = Logger.getLogger(UploadServlet.class);

protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
// Check that we have a file upload request
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if (!isMultipart) {
log.debug("没有可上传的文件, 你想干什么 !");
return;
}
// Create a factory for disk-based file items
String tempFilePath = getServletContext().getRealPath("/")+getServletContext().getInitParameter("tempXlsPath");
FileItemFactory factory = newDiskFileItemFactory(getServletContext(), new File(tempFilePath));
// Create a new file upload handler
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("UTF-8");
/* FileItem */
List<FileItem> items = null;
try {
// Parse the request
items = (List<FileItem>) upload.parseRequest(request);
String filename = null;
for (FileItem fileItem : items) {
if (!fileItem.isFormField()){//file
filename = FilenameUtils.getName(fileItem.getName());
fileItem.write(new File(tempFilePath+filename));
response.getWriter().write(tempFilePath+filename+"<br>");
}
}
} catch (FileUploadException e) {
log.error(e.getMessage());
} catch (Exception e) {
log.error(e.getMessage());
}
}
/**
* The FileCleanerCleanup provides an instance of org.apache.commons.io.FileCleaningTracker.
* This instance must be used when creating a org.apache.commons.fileupload.disk.DiskFileItemFactory.
*/
public static DiskFileItemFactory newDiskFileItemFactory(
ServletContext context, File repository) {
FileCleaningTracker fileCleaningTracker = FileCleanerCleanup
.getFileCleaningTracker(context);
DiskFileItemFactory factory = new DiskFileItemFactory(
DiskFileItemFactory.DEFAULT_SIZE_THRESHOLD, repository);
factory.setFileCleaningTracker(fileCleaningTracker);
return factory;
}

}
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Apache Commons fileUpload实现文件上传
文件上传
java上传图片文件
Java Servlet – jQuery File Upload (multiple, drag&drop, progress…) | HMKCode
hadoop网盘小项目介绍及相关代码下载1
Java文件上传组件 common-fileUpload 使用教程 - OPEN 开发经验库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服