`

sturts2实现下载功能

 
阅读更多
下载的核心java代码:

Action类:

public class Download extends ActionSupport {
    //下载文件
private String fileName = "";
   
public String getFileName() throws UnsupportedEncodingException {
return new String(fileName.getBytes("gbk"), "iso-8859-1");
}
     //为需要下载的文件进行编码
public void setFileName(String fileName)
throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes("iso-8859-1"));// 防止乱码名称的出现
}
    /**
     * 下载方法
     * @return
     * @throws IOException
     */
public InputStream getDownloadFile() throws IOException {

ServletActionContext.getResponse().setContentType(
"application/x-msdownload");// 告诉浏览器是下载类型
//获得需要下载文件的路径
String str=ServletActionContext.getServletContext().getRealPath("") + "\\"+"upload"+"\\"+fileName;
//读取下载文件
FileInputStream fileInputStreamRef = new FileInputStream(new File(str));
ServletActionContext.getResponse().setHeader("Content-Disposition",
"attachment;filename=" + getFileName());// 设置下载文件的默认名称
  
return fileInputStreamRef;
}
    //struts2请求执行的方法
public String execute() throws IOException {
     //返回成功,配置文件中再执行一次请求调用InputStream方法
return "success";
}
}




<!-- -下载使用的配置 -->
<action name="download" class="cn.com.zz.action.Download">
  <result name="success" type="stream">
  <param name="contentDisposition">attachment;filename=${fileName}</param>
  <param name="inputName">downloadFile</param>
   </result>
   </action>



一个较为完整的下载配置:
<action name="download" class="com.upload.struts2.action.DownloadAction">
   <result name="success" type="stream">
//指定下载的类型
    <param name="contentType">application/vnd.ms-word</param>
//动态获取下载文件名
    <param name="contentDisposition">filename="test.doc"</param>
//指定被下载文件的入口输入流
    <param name="inputName">downloadFile</param>
//指定下载文件时的缓冲区大小,默认的是1024字节。
   <param name="bufferSize">2048</param>
   </result>
   </action>
分享到:
评论

相关推荐

    struts2实现文件下载功能

    在这个“Struts2实现文件下载功能”的示例中,我们将深入探讨如何利用Struts2框架来实现在web应用中让用户下载文件的功能。 首先,我们需要理解文件下载的基本原理。在Web应用中,当用户点击一个链接或提交一个表单...

    struts2下载功能实现

    在Struts2中实现下载功能是一项常见的需求,这通常涉及到处理文件流并将其发送到客户端。以下是如何在Struts2中实现下载功能的详细步骤: 1. **Struts2配置**: 在Struts2的配置文件(例如struts.xml或类似的配置...

    struts2简单下载功能

    至此,一个基本的Struts2下载功能就实现了。用户点击下载链接,Struts2会通过`DownloadAction`处理请求,读取并返回指定文件,浏览器接收到响应后,会自动弹出文件保存对话框供用户选择保存位置。 请注意,这只是一...

    struts2实现简单功能

    在本教程中,我们将深入探讨如何使用Struts2来实现简单的功能。 首先,我们需要了解Struts2的核心概念。Action类是Struts2的核心组件,它是业务逻辑的载体,负责接收请求并进行处理。为了创建一个Action,我们需要...

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

    总结起来,使用Struts实现文件上传下载涉及前端表单设计、后端处理逻辑、文件存储策略以及安全控制等多个方面。在实践中,我们还需要考虑到性能优化和用户体验提升,例如使用异步上传、进度条展示等技术。

    JSP开发之Struts2实现下载功能的实例

    JSP开发之Struts2实现下载功能的实例 1、Action 类 package com.favccxx.strutsdemo; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import ...

    struts2实现用户登录注册

    总的来说,"struts2实现用户登录注册"项目涵盖了Web开发中的多个关键点:前端表单处理、后端业务逻辑、数据库交互以及安全性考虑。通过实践这个项目,开发者可以深入理解Struts2框架的工作原理,以及如何在实际开发...

    struts2实现文件上传下载

    本篇文章将详细探讨如何在Struts2框架下实现文件的上传与下载。 首先,我们需要了解Struts2中的文件上传机制。Struts2提供了`FileUploadInterceptor`拦截器来处理文件上传请求。在处理文件上传时,开发者需要在...

    Struts2实现上传功能源码

    在本案例中,我们关注的是如何使用Struts2实现文件上传的功能,这在许多Web应用中都是一个常见的需求,比如用户上传头像、提交文档等。 首先,理解上传功能的基本原理。在HTTP协议中,文件上传通常通过表单的POST...

    Struts2+Jquery+Ajax

    Struts2提供了丰富的功能,如拦截器、结果类型、国际化支持等,使得开发者能够更高效地处理请求和响应。 在MVC架构中,Model负责业务逻辑,View负责展示,而Controller负责接收用户请求并调用Model进行处理,然后将...

    Struts2实现的注册

    Struts2是一个强大的Java web应用程序开发框架,它简化了基于MVC(模型-视图-...以上就是使用Struts2框架在Myeclipse中实现用户注册功能的详细步骤,涉及的技术点广泛且实用,对于理解和掌握Java web开发具有重要意义。

    struts2实现多文件上传下载

    网上的Struts2进行的文件下载一般都是单文件或者固定的文件,并没有(很少)实现随意文件的下载的例子 提供多文件上传,上传成功后,提供刚上传的文件下载功能(其他的都可以在其上面进行扩充) 多文件 上传 下载...

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

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

    struts2实现留言板

    在这个“struts2实现留言板”的项目中,我们将深入探讨如何利用Struts2框架来创建一个功能完备的留言板系统,包括添加、回复和删除留言等基本操作。 首先,我们要了解Struts2的核心组件和工作原理。Struts2框架通过...

    struts2实现ajax功能所需的jar包

    在Struts2中实现AJAX(Asynchronous JavaScript and XML)功能,可以增强用户界面的交互性和响应性,而无需刷新整个页面。本篇文章将详细介绍在Struts2框架下实现AJAX功能所需的jar包及其作用。 首先,我们需要了解...

    struts2文件上传下载源代码

    这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件到服务器。在Struts2中,这通常通过表单实现,表单包含一个`&lt;input type="file"&gt;`...

    struts2资源下载,struts2资源下载

    4. **插件支持**:Struts2拥有丰富的插件库,可以实现AJAX、上传下载、国际化、数据验证等功能。例如,Struts2-dojo-plugin提供了与Dojo库的集成,使得Web应用可以使用富客户端功能。 5. **异常处理**:Struts2提供...

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

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

    用struts2 实现注册

    用struts2实现用户的注册,涉及到的知识点包括用户名和密码的校验(正则表达式验证);国际化;radio,checkboxlist,optiontransferselect等标签的使用,文件的上传等。

Global site tag (gtag.js) - Google Analytics