`

java 基于Struts2的 文件上传和下载

阅读更多
文件上传:
页面代码:
<form action=''method='post'>
<td><input type="file" name="myFile"/></td>
<td><input type="submit" value="提交"/></td>
</form>

action中代码:
String uploadPath =ServletActionContext.getServletContext().getRealPath("/reviseUpload")+ "\\" + this.getMyFileFileName(); 
		File toFile =new File(uploadPath);
	    if(!toFile.exists()){
	    	toFile.createNewFile();
	    }
	    SaveFileUtils.copyFile(getMyFile(), toFile);

SaveFileUtils工具类:
public class SaveFileUtils {
	public static void copyFile(File src,File dst){
		InputStream inputStream=null;
		OutputStream outputStream=null;
		try {
			inputStream=new FileInputStream(src);
			outputStream = new FileOutputStream(dst);
			byte[] buffer = new byte[1024]; 
			int length = 0; 
			while ((length = inputStream.read(buffer)) > 0) {  
				outputStream.write(buffer, 0, length);  
		        }  
			outputStream.flush();
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			try {
				inputStream.close();
			} catch (Exception e2) {
				e2.printStackTrace();
			}
			try {
				outputStream.close();
			} catch (Exception e2) {
				e2.printStackTrace();
			}
		}
	}

文件下载:
前端页面:
<s:iterator value="#articleMap" var="article" status="a">
            <form action="<%=path%>/info/download" method="post">
           <tr>
            <td>
             <input type="hidden" name="fileName" value="<s:property value="value"/>"/>
             <s:property value="key"/>
            </td>
            <td>
              <input type="submit" value="审查">
            </td>
           </tr>
             </form>
           </s:iterator>
action代码:
private String fileName;
	public String getFileName() {
		return fileName;
	}
	public void setFileName(String fileName) {
		this.fileName = fileName;
	}
	public InputStream getInputStream() {
        try {
			return new FileInputStream(fileName);
		} catch (FileNotFoundException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
    }
	@Override
	public String execute() throws Exception {
		return SUCCESS;
	}


struts.xml中配置:
<action name="download" class="cn.com.RJ.ation.downloadAction">
	 <result type="stream">
	  <param name="contentType">application/octet-stream</param>
      <param name="inputName">inputStream</param>
      <param name="contentDisposition">attachment;filename="${fileName}"</param>
      <param name="bufferSize">4096</param>
	 </result>
	</action>
分享到:
评论

相关推荐

    基于Struts2的文件上传下载功能的完整源代码。

    在基于Struts2的文件上传下载功能中,它提供了处理用户上传文件和提供文件下载的服务。这个完整的源代码是实现这些功能的一个实例,经过测试确保了其正确性和可用性。 首先,我们要理解Struts2中的Action类。Action...

    java文件上传,Struts2文件上传,demo下载

    Struts2是一个基于MVC设计模式的Java Web框架,它提供了一套完整的文件上传解决方案。在Struts2中,文件上传功能是通过Struts2的核心拦截器`FileUploadInterceptor`来实现的。 首先,我们需要理解Struts2文件上传的...

    基于struts的文件上传下载源代码

    在本"基于Struts的文件上传下载源代码"中,我们可以深入理解Struts如何处理文件上传和下载操作,这对于初学者来说是一个非常实用的学习资源。 首先,文件上传在Web应用中是常见的功能,它允许用户从本地计算机选择...

    struts文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,主要用于处理用户通过表单提交的文件,或者允许用户从服务器下载文件。这些功能极大地增强了Web应用的交互性和实用性。 在Struts2中实现文件上传,主要涉及到以下几...

    Java-Struts做的上传和下载

    总结一下,"Java-Struts做的上传和下载"项目涵盖了使用Struts2和Apache Commons FileUpload库处理Web应用中的文件上传与下载的核心技术。通过理解这些知识,开发者可以构建出功能完善的文件管理模块,为用户提供安全...

    struts2 文件的上传和下载

    总之,Struts2的文件上传和下载功能是基于Commons FileUpload库实现的,通过配置Struts2拦截器和编写Action逻辑,可以方便地处理用户的文件交互需求。理解和掌握这一过程对于Java Web开发者来说是非常重要的,它能...

    java基于struts的上传下载

    在“基于Struts的上传下载”这一主题中,我们将深入探讨如何使用Struts框架实现文件的上传与下载功能。 一、Struts上传原理 1. **ActionForm**: 在Struts中,ActionForm对象用于在控制器和视图之间传递数据。在...

    java+struts+swfupload文件上传下载

    Java、Struts和SwfUpload是开发Web应用中常见的技术栈,主要用于实现文件上传和下载功能。在这篇文章中,我们将深入探讨如何利用这些技术来构建一个高效、安全的文件管理系统。 首先,Java作为服务器端的主要编程...

    struts2文件上传下载

    通过上述知识点,我们可以构建一个基于Struts2框架的文件上传和下载功能。这些功能在Web应用中非常实用,可以用于上传用户资料、产品图片、报表文件等,以及提供各种文件的下载服务。开发者应当注意这些操作的安全性...

    基于Struts1.2的上传下载Demo

    本项目"基于Struts1.2的上传下载Demo"是针对该框架的一个实践示例,旨在帮助开发者理解和解决在Struts1.2环境中进行文件上传与下载的问题。 首先,让我们深入了解一下Struts1.2中的文件上传功能。在Struts1.2中,...

    java 文件上传(包括struts2文件上传,smartupload,基于apatch 的fileupload的文件上传)

    java 文件上传(包括struts2文件上传,smartupload,基于apatch 的fileupload的文件上传):该文件包括文件上传的多个实例:有基于strtus2自带的文件上传实例、smartupload文件实例 和基于aptche自带的fileupload 的...

    java(Struts2编写的文档上传以及在线查看文档程序)

    Struts2是Apache软件基金会开发的一个开源项目,它基于Action和拦截器的模式,提供了丰富的功能,如国际化、数据校验、文件上传下载等。它通过配置文件和注解灵活地定义动作映射,使得开发者能够更专注于业务逻辑,...

    struts2文件上传jar

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

    struts2文件上传实例

    Struts2是一个强大的MVC(模型-视图-控制器)框架,广泛应用于Java ...以上是基于Struts2框架实现文件上传的基本步骤和关键知识点。通过理解和掌握这些内容,开发者可以构建出稳定、安全且用户体验良好的文件上传功能。

    struts实现的文件上传下载功能

    在这个特定的场景中,我们关注的是如何使用Struts来实现文件的上传和下载功能。这个功能对于任何Web应用来说都是非常重要的,因为它允许用户交互地处理数据和资源。 首先,我们需要理解文件上传的基本流程。在...

    struts2_uploadify带进度条的多文件上传下载

    Struts2 Uploadify是一个在Java Web开发中常用的插件,它结合了Struts2框架和Uploadify jQuery插件,能够实现文件的多选、上传进度显示以及后台处理等功能。这个项目示例提供了一个完整的解决方案,使得用户在上传多...

    struts2 上传文件及打包下载zip

    在这个"struts2 上传文件及打包下载zip"的示例中,我们将探讨如何利用Struts2实现文件上传和下载功能。 首先,文件上传是Web应用程序中的常见需求。在Struts2中,我们可以使用`Struts2`提供的`CommonsFileUpload`...

    java 网盘_文件上传下载 struts2

    综上所述,这个Java Struts2项目提供了一个基础的网盘服务,实现了文件的上传与下载,具备权限管理和后台管理功能,同时也考虑到了IP获取和数据加密的安全性。对于学习和实践Java Web开发,尤其是Struts2框架的应用...

    struts2 文件上传

    Struts2 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,提供了丰富的特性和强大的控制层功能,使得文件上传操作变得相对简单。在本篇中,我们将深入探讨Struts2实现文件上传的原理、步骤以及需要...

    基于struts2 的上传下载源码

    这个基于Struts2的上传下载源码提供了一个基础的实现,帮助开发者理解和实现文件上传与下载的功能。以下是该源码涉及的关键知识点: 1. **Struts2框架**:Struts2是Apache软件基金会的一个开源项目,它提供了Web...

Global site tag (gtag.js) - Google Analytics