struts文件上传

原创 2016年08月29日 01:47:34

struts文件上传

文件上传按照我的理解就是从本地上选择某一文件上传到web容器指定的某一位置,而使用struts可以方便的实现这一功能。
文件上传需要这几个包:commons-io-1.1.jar commons-fileupload-1.1.1.jar,别的struts开头的就不说了.下面是实现案例。

Form类

import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;

public class FileUploadForm extends ActionForm {
	
	private FormFile file;

	public FormFile getFile() {
		return file;
	}

	public void setFile(FormFile file) {
		this.file = file;
	}	
	
}

Action类

import java.io.FileOutputStream;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;

public class FileUploadAction extends Action {
	
	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		// TODO Auto-generated method stub
		System.out.println("执行FileAction中的execute方法");
		
		FileUploadForm fileForm = (FileUploadForm)form;
		
		FormFile file = fileForm.getFile();
		System.out.println("contentType:" + file.getContentType());
		System.out.println("fileName:" + file.getFileName());
		System.out.println("fileSize:" + file.getFileSize());
		//UPLOAD这一文件在WebRoot目录下
		String path = this.servlet.getServletContext().getRealPath("/UPLOAD");
		System.out.println("文件保存到:" + path);
		//File.separator
		//System.out.println("File.separator:" + File.separator);
		FileOutputStream fos = new FileOutputStream(path + file.getFileName());
		fos.write(file.getFileData());
		fos.close();
		return super.execute(mapping, form, request, response);
	}
}
JSP页面
<html>
  <head>
    <title>FileUpload TEST</title>
  </head>
  
  <body style="margin: 2% 10%;">
    <h2>File</h2>
    <hr noshade="noshade">
    <html:form action="FileUploadAction.do" method="POST" enctype="multipart/form-data">
    	<table border="1" style="border-collapse:separate;">
    		<tr>
    		<td>选择文件<td><html:file property="file"></html:file>
			<tr>
    		<td><td><html:submit value="上传"></html:submit>
    	</table>
    </html:form>
  </body>
</html>
页面效果
点击上传,即可
最后Consoal弹出信息如下
Request原编码为:null
Filter设置Encoding为:UTF-8
执行FileAction中的execute方法
contentType:image/jpeg
fileName:001.jpg
fileSize:405506
文件保存到:D:\JAVA\Tomcat\apache-tomcat-8.0.21\webapps\Struts-Unti-1.3.10\UPLOAD\
因为文件名可能出现中文,所以要设置过滤器,(请看struts表单乱码解决方法)



版权声明:本文为博主原创文章,未经博主允许不得转载。

struts文件上传与下载简单DEMO

首先创建一个简单的project,配置其中的web.xml文件   applicationProject                       struts2              ...
  • xy18930914
  • xy18930914
  • 2016年03月30日 11:13
  • 1384

Struts2实现简单的上传功能

Struts2提供的文件上传下载机制十分简便,使得我们写很少的代码,就可以实现该功能,单文件上传、多文件上传、下载等。    当然,我们肯定要引入Struts2上传下载文件相关的jar包的,这里需要引...
  • u010785685
  • u010785685
  • 2016年04月23日 15:13
  • 1352

Struts实现单文件上传、修改、删除(以图片为例)

一、文件上传         思想:图片是以流的方式进行读取,上传的图片存放在服务器端的某个文件夹中,数据库中保存的是上传的图片的地址。 1.ActionForm(userForm)     p...
  • ZFX5130
  • ZFX5130
  • 2013年11月23日 16:26
  • 1250

ajaxFileUpload 异步上传文件配合Struts2的简单使用

我在用SSH框架写一个简单的企业网站的时候需要对产品的图片进行异步上传,经过研究成功实现了ajaxFileUpload+Struts2的异步上传功能,所以抽空做下总结,本文主要讲解ajaxFileUp...
  • cckevincyh
  • cckevincyh
  • 2017年04月16日 21:43
  • 1199

工作笔记4.struts2上传文件到服务器

本文介绍两种:上传文件到服务器的方式 一种是提。交Form表单;另一种是ajaxfileupload异步上传。并对两种上传方式进行综合性的比较...
  • lantingxv_jing
  • lantingxv_jing
  • 2014年10月29日 08:56
  • 1613

struts2+AJAX文件上传进度条的基本实现

最近想要用struts2来
  • qq791967024
  • qq791967024
  • 2014年10月23日 21:36
  • 1992

笨鸟先飞之Java(一)--使用struts2框架实现文件上传

不管是.net还是Java,我们最常接触到的就是文件的上传和下载功能,在Java里要实现这两个常用功能会有很多种解决方式,但是struts2的框架却能给我们一个比较简单的方式,下面就一起来看吧:...
  • YSC1123
  • YSC1123
  • 2015年07月21日 20:22
  • 1802

struts2 实现文件上传和下载

项目目录: web.xml:主要是配好struts2.
  • qiantujava
  • qiantujava
  • 2014年01月13日 17:29
  • 4105

Android 图片或者文件上传服务器(Android+Struts2)

在很多时候都遇到了客户端需要向服务器上传文件,但是网上的资料很多,但是仅仅只是说了手机上如何上传服务器,而服务器端没有描述。回过头来,其实无论是手机还是网页上,上传文件,其本质都是一样,这里我主要是使...
  • xiangaaa190
  • xiangaaa190
  • 2015年05月09日 12:53
  • 1255

Struts2实现文件上传并显示实时进度

我们为了改善用户界面,通常会在处理量大或者是网络速度较慢的时候,给用户显示一个处理进度,让用户心理有底,增强用户等待结果的耐心,以改善用户体验。为了达到这个效果,通常做法有两大类:简单等待和真实的处理...
  • zhouhua0104
  • zhouhua0104
  • 2014年07月18日 09:48
  • 2996
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts文件上传
举报原因:
原因补充:

(最多只允许输入30个字)