`
justhavealittlefaith
  • 浏览: 8989 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

fileupload上传文件的简单例子

阅读更多

下面是用fileupload上传文件的简单工具类:

import java.util.List;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadBase;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;

public class UpLoadUtil2 {
	
	public static String upload(HttpServletRequest request){
		String msg = null;
		
		try{
			boolean isMultipart = FileUploadBase.isMultipartContent(request);
			if(isMultipart){//判断Form是否为 multipart form
				FileItemFactory fileItemFactory = new DiskFileItemFactory();//设置工厂
				FileUpload fileUpload = new FileUpload(fileItemFactory);//上传组件
				
				//这里就是中文文件名处理的代码,其实只有一行,setHeaderEncoding就可以了
				fileUpload.setHeaderEncoding("utf-8");
				
				List fileItemList = fileUpload.parseRequest(request);//解析上传文件数据包
				
				for(int i=0;i<fileItemList.size();i++){
					FileItem fileItem = (FileItem)fileItemList.get(i);//遍历每个上传文件
					
					if(!fileItem.isFormField()){//判断是不是上传的文件
						String fullFileName = fileItem.getName();//文件全名
						String fileName = getFileName(fullFileName);//文件名
						//设置文件存储在服务器上的路径
						String path = request.getRealPath("/upload");
						if(!new File(path).isDirectory())//如果不存在,则创建目录
							new File(path).mkdirs(); 
						File file = new File(path, fileName);
						fileItem.write(file);
						
						msg = file.getAbsolutePath();
					}
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		
		return msg;
	}
	
	public static String getFileName(String fullFileName){
		String fileName = fullFileName.substring(fullFileName.lastIndexOf("\\")+1);
		return fileName;
	}

}

 如上upload方法中传入request对象参数,fileupload组件通过解析request得到上传文件。

下面是页面的部分代码,用来发送上传文件请求:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<title>My JSP 'uploadExcel.jsp' starting page</title>
		<script type="text/javascript">
			function tosubmit(){
				var filename = document.getElementById('fileid').value;
				if(filename =='' || filename == null){
					alert("请先选择要上传的文件");
				}else{
					window.document.form1.submit();
				}
			}
		</script>
	</head>

	<body>
		<form method="post" name="form1"
			action="<%=request.getContextPath()%>/uploadExcelServlet"
			enctype="multipart/form-data" >
			<table class="formLayout">
				<tr>
					<td align="right">
						选择要上传的文件:
					</td>
					<td align="left">
						<input type="file" id="fileid" name="filename"/>
					</td>
				</tr>
				<tr>
					<td align="right">
						&nbsp;
					</td>
					<td align="left">
						<input type="button" value="确定上传" class="btn_width"
							onclick="tosubmit()">
						&nbsp;&nbsp;
						<input type="button" value="返回" onclick="window.history.back()"
							class="btn_width">
					</td>
				</tr>
			</table>
		</form>
	</body>
</html>

 

分享到:
评论

相关推荐

    C# .NET FileUpload 多文件上传例子

    5. **并发处理**:如果同时有多个用户上传文件,需要考虑并发控制。 在实际开发中,你还可以结合AJAX和jQuery来实现异步上传,提高用户体验。同时,了解并应用相关的WebAPI或SignalR技术,可以使你的文件上传功能...

    fileUpload文件上传组件例子

    本示例中的"fileUpload文件上传组件例子"提供了一个自定义实现的文件上传组件,旨在帮助开发者理解并掌握这一关键功能的实现方式。 首先,我们需要了解文件上传的基本原理。在HTML中,`&lt;input type="file"&gt;`标签...

    使用commons-fileupload上传文件

    【使用commons-fileupload上传文件】 Apache Commons FileUpload是Apache组织的一个子项目,专注于处理HTTP文件上传。这个组件提供了一个简洁的API,使得开发者能够轻松地在Java应用中处理由浏览器发送的多部分...

    commons-fileupload文件上传实例

    该库提供了解析请求、存储上传文件和处理异常的能力。 **二、基本原理** 文件上传涉及到客户端和服务器之间的交互。用户通过HTML表单选择文件后,浏览器将文件封装成多部分数据,发送到服务器。FileUpload库负责...

    利用commons-fileupload上传组件上传文件(一)

    在Web开发中,允许用户上传文件是常见的需求,例如提交简历、上传图片或者分享文档。HTTP协议本身并不支持文件上传,但是通过MIME多部分/相关格式,我们可以将文件内容作为POST请求的一部分发送。Apache Commons ...

    commons-fileupload 文件上传 图片上传 demo

    这个库为Java开发者提供了一个简单而强大的API,能够方便地实现文件上传功能。 `commons-fileupload`是Apache Commons项目的一部分,它的主要功能包括: 1. **解析多部分HTTP请求**:在HTTP协议中,文件上传通常...

    文件上传下载源代码,FileUpload上传文件

    `FileUpload`通常指的是一个用于处理用户通过Web表单上传文件的组件或技术。本篇将详细讲解这一主题,包括文件上传的基本原理、使用FileUpload进行文件上传的步骤以及相关注意事项。 一、文件上传的基本原理 文件...

    commons-fileupload文件上传实例代码

    - 上传文件时,应检查文件类型和大小,防止恶意文件上传。 - 文件名处理时,避免使用用户提供的原始文件名,以防路径遍历攻击。可以生成随机文件名或重命名文件。 - 使用临时目录存储上传的文件,直到准备好处理...

    apache fileupload 文件上传实例

    Apache Commons FileUpload是Apache软件基金会的一个子项目,它提供了处理HTTP请求中multipart/form-data类型的工具,这是HTML表单上传文件的标准格式。通过这个库,开发者可以轻松地解析请求,获取上传文件的信息...

    使用Common-fileUpload 上传文件 读取文件内容

    本篇文章将详细讲解如何使用`Commons-FileUpload`进行文件上传,并读取上传文件的内容。 首先,了解`Commons-FileUpload`的工作原理。它解析HTTP请求,将多部分的数据分割成单独的部分,这些部分可以是文本或文件。...

    commons fileupload实现文件上传的实例代码

    1. 创建一个`DiskFileItemFactory`对象,它定义了临时存储上传文件的策略。 2. 使用`DiskFileItemFactory`创建一个`ServletFileUpload`实例,设置最大上传大小等配置。 3. 使用`ServletFileUpload.parseRequest...

    FileUpload 文件上传组件的ASP.NET源码.rar

    FileUpload 文件上传组件的ASP.NET实例,基于主副窗口的上传程序,利用线程提升上传... ASP.NET FileUpload上传图片并解决上传限制  解决FileUpload控件上传文件大小限制  ASP.NET中实现FileUpload多文件上传

    .NET 文件上传文件控件(FileUpload)使用实例

    .NET 文件上传文件控件(FileUpload)使用实例 .NET Framework 提供了一个名为 FileUpload 的控件,用于实现文件上传功能。本文将通过一个简单的图片上传程序,来演示 FileUpload 控件的使用实例。 在 ASP.NET 中...

    一个简单的使用commons-fileupload包上传文件的例子

    在Java Web开发中,文件上传是一项常见的功能,`commons-fileupload`库是Apache Commons项目提供的一款强大且...通过学习和理解这个简单的例子,你可以进一步扩展和定制自己的文件上传功能,满足各种实际项目的需求。

    commons-fileupload上传和下载例子.zip

    这个"commons-fileupload上传和下载例子.zip"压缩包包含了使用Apache Commons FileUpload进行文件上传和下载的示例代码,可以帮助我们深入理解这一功能的实现。 Apache Commons FileUpload是Apache软件基金会的一个...

    java中common-fileupload 上传文件demo

    // 设置最大上传文件大小,-1表示无限制 ``` 4. **解析请求**:使用`FileUpload`对象的`parseRequest()`方法解析请求,这将返回一个`FileItemIterator`,我们可以遍历这个迭代器获取每个上传的文件项。 ```java ...

    利用org.apache.commons.fileupload上传多个文件

    Apache Commons FileUpload 是一个用于处理 HTTP 请求中多部分(multipart)数据的 Java 库,尤其适合上传文件。在本文中,我们将深入探讨如何利用该库实现多个文件的上传功能。 一、准备工作 在使用 Apache ...

    fileupload上传文件工具开发jar包

    总结来说,`fileupload上传文件工具开发jar包`是一个集成了Apache Commons `io`和`fileupload`的便捷工具,主要用于Java环境中处理HTTP文件上传。它提供了文件上传的解析、存储和处理能力,为开发者构建安全、高效的...

    Apache Commons fileUpload实现文件上传

    1. 安全性:确保验证上传文件的类型和大小,防止恶意文件上传。 2. 异常处理:捕获并处理解析、写入文件时可能出现的异常。 3. 性能优化:合理设置内存阈值,避免大文件一次性加载到内存。 4. 文件命名:避免使用...

    commons-fileupload实现jsp上传实例(源码)

    - `DiskFileItemFactory`:负责临时存储上传文件,设置临时目录和大小限制。 - `ServletFileUpload`:解析Servlet请求,使用`DiskFileItemFactory`创建`FileItem`对象。 2. **JSP文件上传步骤**: - 创建表单:...

Global site tag (gtag.js) - Google Analytics