`
roway
  • 浏览: 50620 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

struts1文件上传

 
阅读更多

上传页面

<%@ page language="java" pageEncoding="UTF-8"%>

<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
<head>
	<html:base />

	<title>index.jsp</title>

	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

</head>

<body>
	<br>
	<html:form action="/upload" method="post" focus="Username"
		enctype="multipart/form-data">
		<table border="0">
			<tr>
				<td>
					用户名:
					<br>
				</td>
				<td>
					<html:text property="username" />
					<br>
				</td>
			</tr>
			<tr>
				<td>
					上传文件:
					<br>
				</td>
				<td>
					<html:file property="filename"></html:file>
					<br>
				</td>
			</tr>
			<tr>
				<td colspan="2" align="center">
					<html:submit />
					<br>
				</td>
			</tr>
		</table>
	</html:form>
</body>
</html:html>

form

import java.io.UnsupportedEncodingException;

import javax.servlet.http.HttpServletRequest;

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

public class UploadForm extends ActionForm {
	private static final long serialVersionUID = 1L;

	private String username;

	private FormFile filename;

	public ActionErrors validate(ActionMapping mapping,
			HttpServletRequest request) {
		return null;
	}

	public void reset(ActionMapping mapping, HttpServletRequest request) {
		try {
			request.setCharacterEncoding("UTF-8");
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public FormFile getFilename() {
		return filename;
	}

	public void setFilename(FormFile filename) {
		this.filename = filename;
	}
}

action

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

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;

import com.strutsFileupload.struts.form.UploadForm;

//使用struts上传文件
public class UploadAction extends Action {

	@SuppressWarnings( { "unchecked", "deprecation" })
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		UploadForm uploadForm = (UploadForm) form;

		//第一步:
		FormFile formFile = uploadForm.getFilename();
		
		//看看两者的路径时候相同...选择用哪个?---测试过,用第一个更好!
		System.out.println(this.getServlet().getServletContext().getRealPath("upload"));
		System.out.println(request.getRealPath("upload"));

		File file = new File(request.getRealPath("upload"));
		FileOutputStream fos = null;
		try {
			fos = new FileOutputStream(file + "/" + formFile.getFileName());
			//考虑是写一个恒定的byte[]更好(如果很大就成问题了)
			byte[] data = new byte[formFile.getFileSize()];
			data = formFile.getFileData();//第二步:
			fos.write(data);//第三步:
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			if (fos != null) {
				try {
					fos.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
		return mapping.findForward("success");
	}
}


分享到:
评论

相关推荐

    Struts1文件上传、单文件、多文件上传(上传文件大小问题,如何设置无限制)

    ### Struts1 文件上传知识点详解 #### 一、概述 在Web开发中,文件上传是一项常见功能。Apache Struts框架提供了强大的支持来进行文件上传。本文将详细介绍如何在Struts1中实现单文件上传和多文件上传,并探讨如何...

    Struts1 fileupload Struts1文件上传 源码下载

    Struts1的fileupload的文件上传

    struts1 文件上传 文件下载

    在Struts1中,文件上传和下载是常见的功能,尤其在处理用户交互和数据交换时非常有用。下面将详细介绍如何使用Struts1实现文件上传和下载,以及涉及到的关键知识点。 **一、文件上传** 1. **表单配置**:在HTML...

    struts1文件上传的例子

    在这个"struts1文件上传的例子"中,我们将深入探讨如何在Struts1框架下实现文件上传的功能。 首先,文件上传在Web开发中是一个常见的需求,例如用户可能需要上传图片、文档或其他类型的文件。在Struts1中,这通常...

    Struts1文件上传小项目

    Struts1文件上传小项目是一个基于Java Web技术的实践应用,它主要利用了Struts1框架、Hibernate ORM工具以及基础的增删改查操作来处理文件上传功能。在这个项目中,我们将深入探讨这些关键技术点,了解如何将它们...

    struts1实现文件上传

    ### Struts1 实现文件上传的关键技术点 在Struts1框架中实现文件上传功能是一项常见但又具有一定技术挑战的任务。下面将详细解析文件上传的实现过程,包括关键类的使用、文件处理逻辑以及异常处理等方面。 #### ...

    struts1上传文件带进度条

    在Struts1中实现文件上传功能,常常是Web开发中的一个常见需求。而“带进度条”的文件上传则更进一步,它能为用户提供更好的用户体验,让用户在上传大文件时能够看到实时的上传进度。 首先,我们来理解一下Struts1...

    struts1和struts2分别实现文件上传下载功能

    Struts1和Struts2是两个非常著名的Java Web框架,它们都提供了处理文件上传和下载的功能,但实现方式有所不同。本文将深入探讨这两个框架在文件操作方面的具体实现。 首先,让我们了解一下Struts1中的文件上传功能...

    struts2文件上传下载源代码

    1. **配置Struts2 Action**:在`struts.xml`配置文件中,你需要定义一个Action,该Action负责处理文件上传请求。Action的类需要继承自`ActionSupport`,并覆盖`execute()`方法,以便处理上传的文件。 2. **设置...

    Struts1实现的文件上传

    在这个“Struts1实现的文件上传”项目中,我们将深入探讨如何在Struts1框架下实现文件上传功能,并不涉及文件下载的部分。 首先,理解文件上传的基本流程是至关重要的。在Web应用中,用户通过HTML表单选择本地文件...

    用struts1实现文件的上传和下载

    Apache Commons FileUpload库是Struts1中处理文件上传的关键,它可以解析请求中的多部分内容,将文件内容分离出来并存储到服务器的临时目录。 要实现文件上传,你需要做以下几步: 1. **配置Struts1 ActionForm**...

    一个Struts1多文件上传实例(附Form中传List示例)

    本实例主要探讨如何在Struts1中实现多文件上传功能,并结合Form中传递List类型的数据,这对于理解MVC模式下的文件处理和数据传递有重要作用。我们将深入讨论以下几个关键知识点: 1. **Struts1框架基础**: Struts...

    struts2实现文件上传下载

    1. **配置Struts2的文件上传** 在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`拦截器,并设置允许的最大上传大小。例如: ```xml ...

    struts2文件上传jar

    这个压缩包包含了实现Struts2文件上传所需的全部jar包,这些库文件对于理解和实现文件上传功能至关重要。 首先,我们要了解Struts2文件上传的基本流程。当用户通过表单提交包含文件输入字段的请求时,Struts2框架会...

    Struts1实现文件上传源码

    在这个“Struts1实现文件上传源码”实例中,我们将深入探讨如何利用Struts1框架来处理文件上传操作。 在Web应用中,文件上传功能是非常常见的,比如用户上传头像、提交文档等。Struts1提供了ActionForm类和一系列...

    JavaEE Struts文件上传

    1. **配置Struts2 Action**:在Struts2中,我们需要创建一个Action类来处理文件上传请求。这个类通常需要实现`ServletRequestAware`接口,以便可以直接访问HttpServletRequest对象,从中获取上传文件。 2. **添加...

    struts 单文件上传和多文件上传带进度条

    在Struts中,可以实现单文件和多文件的上传,并且为了提升用户体验,我们还可以添加进度条来显示文件上传的状态。本文将详细介绍如何在Struts中实现这两个功能,并带上传进度条。 首先,我们需要了解Struts中处理...

    struts1 文件上传源码----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    在Struts 1中,文件上传是一个常见的功能,它允许用户通过网页表单上传文件到服务器。这个源码包可能是为了帮助开发者理解如何在Struts 1框架下实现文件上传功能。 在Struts 1中,文件上传通常涉及到以下几个核心...

Global site tag (gtag.js) - Google Analytics