执行类:
/**
* @author LXY
* @date 2008=11-11
*/
public class UploadAction extends HttpServlet {
private static final long serialVersionUID = 1L;
String uploadPath = ""; // 用于存放上传文件的目录
String tempPath = ""; // 用于存放临时文件的目录
@Override
public void init() throws ServletException {
super.init();
//从配置文件中读取文件路径
uploadPath = this.getInitParameter("uploadPath");
tempPath = this.getInitParameter("tempPath");
}
@SuppressWarnings("unchecked")
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//用于存放上传文件的原路径
List<String> fileList = new ArrayList<String>();
//创建存放上传文件的文件夹
File fileDir = new File(uploadPath);
if (!fileDir.exists()) {
fileDir.mkdir();
}
//创建临时文件夹
File tempDir = new File(tempPath);
if (!tempDir.exists()) {
tempDir.mkdir();
}
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setRepository(new File(tempPath)); // 设置临时目录
factory.setSizeThreshold(1024 * 1024); // 设置缓冲区大小
ServletFileUpload upload = new ServletFileUpload(factory);
//设置字符集
upload.setHeaderEncoding("UTF-8");
try {
List<FileItem> list = upload.parseRequest(request); // 得到所有的文件
for (FileItem fileItem : list) {
// 如果是表单信息
if (fileItem.isFormField()) {
String name = fileItem.getFieldName(); // 获得表单中按钮的类型
String value = fileItem.getString("UTF-8"); // 获得表单中按钮的值
request.setAttribute(name, value);
} else {
String name = fileItem.getFieldName(); //获得表单中域的名字
String value = fileItem.getName(); // 获得从浏览器中取得的文件全路径
//将上传文件的路径放到列表里
fileList.add(value);
int start = value.lastIndexOf("\\");
String fileName = value.substring(start + 1); // 由于不同的浏览器可能取得的文件的名字不同,有的浏览器将整个路径取道,有的浏览器只取到文件名
request.setAttribute(name, fileName); // IE里取的是文件明,如XXX.doc等
// 使用fileupload提供的上传
try {
// 写入文件,也可以从fileName中提取文件名:
fileItem.write(new File(uploadPath, fileName));
} catch (Exception e) {
e.printStackTrace();
}
}
}
} catch (FileUploadException e) {
e.printStackTrace();
}
//将获得的文件路径放回请求
request.setAttribute("fileList", fileList);
//页面跳转
request.getRequestDispatcher("success.jsp").forward(request, response);
}
}
分享到:
相关推荐
《jQuery文件批量上传控件详解》 在网页开发中,用户交互体验的提升往往离不开高效、便捷的文件上传功能。jQuery作为一个广泛使用的JavaScript库,提供了丰富的插件来增强这一功能,其中“jQuery文件批量上传控件”...
在Java开发中,文件批量上传是一项常见的功能,尤其在企业级应用中,用户可能需要上传大量数据或文件。本教程将介绍如何利用SWF(Simple Workflow)和EXT库来实现这一功能。SWF是一个用于创建富互联网应用程序的前端...
Bootstrap文件上传组件FileInput是一款强大的前端文件上传工具,尤其适合于需要实现文件批量上传的场景。这个组件基于Bootstrap框架,提供了美观的用户界面和丰富的功能,使得文件上传操作变得直观且易于实现。以下...
在ASP.NET中,实现自定义固定格式的多文件批量上传是一项常见的需求,这涉及到Web开发中的文件上传控件、服务器端处理以及客户端交互等多个技术环节。以下是对这一知识点的详细阐述: 1. **文件上传控件**:在ASP...
在IT行业中,文件批量上传是一项常见的需求,尤其在大数据传输、文件管理以及用户交互的场景中。本资源提供的是三种不同的文件批量上传方法,其中包括单文件上传和多文件上传,并且都带有进度条功能,这对于提升用户...
本文将详细讲解如何使用Element UI与Vue.js实现单文件上传和多文件批量上传,且确保所有文件通过一个接口进行提交。 首先,我们需要安装Element UI库。在项目根目录下运行以下命令: ```bash npm install element-...
在文件批量上传的服务器端,我们可以创建一个QTcpServer实例,设置监听端口,并在有新的连接请求时触发相应的槽函数,以便处理客户端的连接。 2. **QTcpSocket**: QTcpSocket类是用于建立和管理TCP连接的。在客户端...
本项目“Jquery 文件批量上传程序”提供了一种高效、用户友好的解决方案,适用于那些需要集成到自己网站中的开发者。以下是这个程序的关键知识点和实现细节: 1. **jQuery库**:jQuery 是一个广泛使用的JavaScript...
"图片,文件批量上传源代码"正是针对这一需求提供的解决方案。它允许用户一次性上传多个图片或文件,而不是逐个进行,极大地优化了用户体验。 批量上传通常涉及到的技术包括前端的多文件选择、文件预览、进度条显示...
文件批量上传是Web应用中常见的需求,特别是在处理大量数据或者用户需要上传多张图片等场景下。本项目实现了使用Struts2进行文件批量上传的功能,这涉及到几个关键的技术点,包括文件上传组件的选择、前端表单设计、...
BAT脚本实现文件批量上传示例
基于C#MVC-WEBAPI实现的文件批量上传服务器源代码,客户端通过form表单或ajax提交参数及文件,本程序负责接收并处理请求:将文件根据时间戳重命名后存入指定目录,并将参数与文件一一对应后存入mysql数据库,代码简洁,4-...
SWFupload是一款强大的JavaScript库,专门用于实现网页上的文件批量上传功能。它通过Flash插件在浏览器端提供用户友好的界面,支持多文件选择、进度条显示、预览功能等,极大地提升了用户在上传大量文件时的体验。...
【文件批量上传客户端免费组件】是一款基于ASP技术开发的实用工具,主要针对网站或服务器的文件上传需求,尤其适用于需要处理大量文件上传的场景。ASP(Active Server Pages)是微软公司开发的一种服务器端脚本环境...
### IT知识点:使用Ajax与jQuery实现文件批量上传 在现代Web开发中,文件批量上传是一项常见且实用的功能,尤其在用户需要一次性上传多个文件(如图片、文档等)的场景中。本文将深入探讨如何利用Ajax与jQuery技术...
《GooUploader:打造高效美观的多文件批量上传体验》 在互联网应用中,文件上传功能是不可或缺的一部分,尤其在协作、分享、存储等场景下更是如此。GooUploader是一款优秀的多文件批量上传插件,它以其简洁美观的...
标题“文件批量上传 tp+layui”表明我们要讨论的是一个基于ThinkPHP(简称tp)框架和Layui前端组件库实现的文件批量上传功能。Layui是一个轻量级的前端框架,提供了丰富的UI组件,而ThinkPHP则是一个流行的PHP开发...
Bootstrap可拖动文件批量上传代码是利用HTML5的拖放(Drag and Drop)API和jQuery库构建的一个实用功能,主要用于提升用户体验,使得用户在网页上能够方便地通过拖拽操作来上传多份文件。这个插件是JavaScript特效的一...
在IT行业中,文件批量上传和图片批量上传是常见的需求,特别是在网站开发和内容管理系统中。PHP作为一门广泛使用的服务器端脚本语言,提供了强大的文件处理功能,使得批量上传成为可能。下面将详细介绍PHP实现文件...
在Java EE平台上,文件批量上传是一项常见的功能,尤其在企业级应用中,如文档管理系统、电商平台等,都需要处理用户上传的大量文件。本设计与实现主要涵盖了以下几个关键知识点: 1. **Servlet与JSP**:Java EE...