`
jaesonchen
  • 浏览: 311582 次
  • 来自: ...
社区版块
存档分类
最新评论

fileupload实现

 
阅读更多
<html>
  <head></head>
  <body>
	<s:fielderror />
    		<s:form action="FileUploadAction" method="post" enctype="multipart/form-data">
  		<s:file name="file" label="File" />
  		<s:submit/>
  	</s:form>
  </body>
</html>

 

<action name="FileUploadAction" class="fileUploadAction">
	<!-- 配置 fileupload 的拦截器 -->
	<interceptor-ref name="fileUpload">
		<!-- 可以支持上传的文件类型 -->
		<param name="allowedTypes">
		image/bmp,image/png,image/gif,image/jpeg,image/jpg  
		</param>  
		<!-- 设置上传文件的大小不能超过1M -->  
		<param name="maximumSize">1024*1024</param>  
	</interceptor-ref>  
	<interceptor-ref name ="defaultStack" />
			
	<param name="savePath">/upload</param>
	<result name="success">/successFileUpload.jsp</result>
	<result name="input">/fileUpload.jsp</result>
</action>

 

import java.io.File;
import java.io.FileInputStream;  
import java.io.FileOutputStream;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.InputStream;  
import java.io.OutputStream;  

import org.apache.struts2.ServletActionContext;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionSupport;

@SuppressWarnings("all")
@Scope("prototype")
@Controller("fileUploadAction")
public class FileUploadAction extends ActionSupport {
	
	@Override
	public String execute() throws Exception {
		
		if (file != null) {
			
			InputStream in = null;
			OutputStream out = null;
			try {
				
				in = new BufferedInputStream(new FileInputStream(getFile()));
				out = new BufferedOutputStream(new FileOutputStream(getSavePath() + "//" + getFileFileName()));
				byte [] buff = new byte[1024];
				int len = 0;  
				while ((len = in.read(buff)) > 0) {
					out.write(buff, 0, len);
				}
				out.flush();
			} catch(Exception ex) {
				ex.printStackTrace();
			} finally {
				in.close();
				out.close();
			}
			
			return SUCCESS;
		}
		
		return INPUT;
	}
	
	private File file;
	private String fileFileName;
	private String fileContentType;
	private String savePath;
	
	public File getFile() {
		return file;
	}
	public void setFile(File file) {
		this.file = file;
	}
	public String getFileFileName() {
		return fileFileName;
	}
	public void setFileFileName(String fileFileName) {
		this.fileFileName = fileFileName;
	}
	public String getFileContentType() {
		return fileContentType;
	}
	public void setFileContentType(String fileContentType) {
		this.fileContentType = fileContentType;
	}
	
	public void setSavePath(String savePath) {
		this.savePath = savePath;
	}
	public String getSavePath() {
		return ServletActionContext.getServletContext().getRealPath(savePath);
	}  

}

 

 

分享到:
评论

相关推荐

    使用commons-fileupload实现的文件上传和下载

    通过以上步骤,你可以成功地使用Apache Commons FileUpload实现文件上传和下载功能,并避免中文乱码问题。在实际开发中,还可以结合Spring MVC或Struts等框架,进一步简化代码和提高代码的可维护性。

    commons-fileupload实现文件上传下载

    ### Commons-FileUpload 实现文件上传下载 #### 知识点概述 Commons-FileUpload 是 Apache 提供的一个用于处理 HTTP 文件上传的组件。它基于 Servlet 规范,并且能够解析来自 `multipart/form-data` 编码类型的 ...

    commons-fileupload实现文件上传

    本篇将详细讲解如何使用Commons FileUpload来实现文件上传的功能。 首先,理解HTTP协议中的多部分数据是至关重要的。在HTML表单提交文件时,通常会使用`enctype="multipart/form-data"`属性,此时,数据会被分割成...

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

    "commons-fileupload实现jsp上传实例(源码)" 这个标题表明了我们讨论的主题是关于使用Apache Commons FileUpload库在JavaServer Pages (JSP)中实现文件上传的功能,并且提供了源代码作为参考。Apache Commons ...

    Apache Commons fileUpload实现文件上传

    ### Apache Commons fileUpload 实现文件上传详解 #### 引言 Apache Commons fileUpload 是一个用于处理 HTTP 文件上传的 Java 库。它简化了文件上传的过程,使得开发人员能够轻松地处理来自客户端的文件数据。本...

    fileupload实现文件上传和下载

    我自己编写的jsp页面利用fileupload组建实现文件上传和下载,简单易懂。仅供初学者参考...

    struts1.2和commons-fileupload实现文件上传

    Struts1.2和Commons-Fileupload是Java Web开发中用于实现文件上传的两个重要组件。Struts1.2是Apache的一个开源框架,主要用于构建MVC(模型-视图-控制器)架构的Web应用程序,而Commons-Fileupload则是Apache ...

    commons-fileupload文件上传实例

    本教程将详细介绍如何利用commons-fileupload实现文件上传功能,并提供一个简单的实例。 **一、Apache Commons FileUpload简介** Apache Commons FileUpload是Apache软件基金会开发的一个开源组件,专门处理HTTP...

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

    **借助Commons FileUpload组件实现文件上传** Apache Commons FileUpload组件简化了文件上传的处理过程。首先,你需要在项目中引入两个JAR包:`commons-fileupload.jar`和`commons-io.jar`。然后,在Servlet中,你...

    commons fileupload实现文件上传

    在"commons-fileupload 1.2.1"和"1.2.2"这两个版本中,主要包含以下核心知识点: 1. **多部分解析**:HTTP文件上传是通过多部分/形式数据(Multipart/form-data)格式进行的。FileUpload库能够解析这种格式的数据,...

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

    【标题】:基于Apache Commons FileUpload的JSP文件上传实现 Apache Commons FileUpload是一个非常流行的Java库,专门用于处理HTTP请求中的多部分数据,也就是通常所说的文件上传功能。在JSP(JavaServer Pages)中...

    js结合commons-fileupload实现带进度条的文件上传

    在本文中,我们将深入探讨如何使用JavaScript(JS)结合Apache Commons FileUpload库来实现一个带进度条的文件上传功能,并支持批量上传。这个功能在现代Web应用中非常常见,能够提供用户友好的交互体验。 首先,...

    j2ee 文件上传 commons-fileupload实现

    本教程将详细介绍如何利用Commons FileUpload库在J2EE环境中实现文件上传功能。 首先,理解文件上传的基本原理。在HTTP协议中,文件上传通常通过表单的`&lt;input type="file"&gt;`元素来实现,然后将数据封装在`...

    使用jQuery+SWFUpload+Commons-FileUpload实现带进度条的上传

    本文将深入探讨如何使用jQuery、SWFUpload和Apache Commons FileUpload这三个技术来实现这一目标。 首先,jQuery是一个广泛使用的JavaScript库,它简化了DOM操作、事件处理、动画效果以及Ajax交互。在本项目中,...

    fileupload实现断点续传,大家看看

    本文将深入探讨断点续传的原理、实现方式以及相关的编程技巧。 1. 断点续传的基本原理 断点续传的核心在于保存和恢复上传进度。在上传过程中,服务器和客户端会记录当前的传输状态,如已上传的字节数、文件的总大小...

    用commons-fileupload实现的上传实例

    本文将深入探讨如何使用`commons-fileupload-1.2.jar`这个组件来实现文件上传的实例。 Apache Commons FileUpload是Apache软件基金会开发的一个开源项目,它的主要目标是提供一个简单且可扩展的API,用于处理HTTP...

    FileUpload实现多文件上传与下载

    本教程将探讨如何在Java Web环境下实现多文件上传与下载的机制。 首先,我们来了解一下多文件上传。在HTML5之后,浏览器支持了多文件选择功能,这使得在表单中可以一次性选择多个文件进行上传。在Java Web应用中,...

Global site tag (gtag.js) - Google Analytics