`
rebeidian
  • 浏览: 25351 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

struts2实现文件下载功能

阅读更多

strust2.xml:

 

 <!--下载  -->
  <action name="downloadFileAction" class="cn.tdtk.gtxy.mm.basicSettings.action.DownloadAction">
            <result name="success" type="streamx"> 
               <param name="contentType">application/octet-stream</param> 
               <param name="inputName">inputStream</param> 
               <param name="contentDisposition">attachment;filename="${downloadFileName}"</param> 
               <param name="bufferSize">1024</param> 
            </result> 
  </action>

 

action类:

 

import java.io.File; 
import java.io.FileInputStream; 
import java.io.InputStream; 
 

import java.net.URLDecoder;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport; 
 
public class DownloadAction extends ActionSupport { 
 
     
    private static final long serialVersionUID = -7758584364932001138L; 
     
    private InputStream inputStream; 
    private String downloadFileName;
    @Override 
    public String execute() throws Exception {
     String fileName1=URLDecoder.decode(ServletActionContext.getRequest().getParameter("fileName"),"UTF-8");
     String proPath=ServletActionContext.getServletContext().getRealPath("/");
      String realPath=proPath+"Fileupload\\mmDocLoad\\"+fileName1;
      System.out.println("realPath======:"+realPath);
         inputStream = new FileInputStream(new File(realPath)); 
         return SUCCESS; 
    } 
    public String getDownloadFileName() {
        String fileName=ServletActionContext.getRequest().getParameter("fileName");
        downloadFileName = fileName;
        try {
         downloadFileName = new String(downloadFileName.getBytes(), "ISO8859-1");
        } catch (Exception e) {
         e.printStackTrace();
        }
        //System.out.println("file name=============:"+downloadFileName);
        return downloadFileName;
     }

    public InputStream getInputStream() { 
        return inputStream; 
    } 
 
    public void setInputStream(InputStream inputStream) { 
        this.inputStream = inputStream; 
    }  
      
}
JS:

function downLoad123(){
 var strName = encodeURI(encodeURI('下载测试手册.doc'));
 var downUrl = root+'/basicSettings/downloadFileAction?fileName='+strName+'';
 $('#aaaa').attr('href',downUrl)
}

jsp:

<a href="#" id="aaaa"  onclick="downLoad123();">下载</a>

分享到:
评论

相关推荐

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

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

    struts2实现文件上传下载

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

    Struts2实现文件的上传下载

    Struts2是一个强大的MVC(Model-View-Controller)框架,广泛应用于Java Web开发中,提供了丰富的功能,包括文件的上传和下载。在本项目中,我们关注的是如何使用Struts2来实现实时的文件交互操作,即文件的上传与...

    struts2实现文件下载实例源代码

    在Struts2中实现文件下载的功能,可以帮助用户从服务器获取并保存文件到本地计算机,例如这里的"1.xls"文件。下面我们将深入探讨如何在Struts2框架下实现文件下载的实例。 首先,我们需要在项目的Web应用目录结构中...

    Struts2实现文件下载功能代码分享(文件名中文转码)

    在Struts2中,实现文件下载功能是常见的需求,尤其是处理包含中文文件名的场景,因为中文字符在URL中可能会引起编码问题。下面我们将详细讨论如何使用Struts2实现文件下载功能,并处理中文文件名的转码。 首先,...

    struts2下载功能实现

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

    struts2实现多文件上传下载

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

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

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

    struts2文件上传下载源代码

    描述中的链接指向了CSDN博主johnjobs的一篇文章,这篇文章详细解释了如何在Struts2中实现文件上传。博主可能讨论了以下关键点: 1. **配置Struts2 Action**:在`struts.xml`配置文件中,你需要定义一个Action,该...

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

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

    Struts2+Jquery+Ajax

    Struts2作为Controller层,通过Action类来实现业务逻辑,并通过配置文件或注解来定义Action与URL的映射关系。 Jquery是一个高效的JavaScript库,简化了HTML文档遍历、事件处理、动画以及Ajax交互。它使得开发者能更...

    struts2实现文件下载

    ### Struts2实现文件下载:深入解析与代码实践 #### 引言 在Web应用开发中,文件的上传与下载是常见的功能需求。Struts2框架提供了强大的支持,使得开发者能够轻松实现这些功能。本文将重点介绍Struts2中文件下载...

    Struts2接口文档

    这个“Struts2接口文档”是开发者的重要参考资料,提供了关于Struts2框架内各个组件、类库以及接口的详细说明,帮助开发者深入理解框架的内部工作原理并有效地使用其功能。 Struts2的核心组件包括Action、Result、...

    struts2中文学习文档

    从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...

    Struts的文件下载

    在Struts中实现文件下载是一项常见的功能,尤其在处理用户请求获取服务器上的静态或动态资源时。这篇博文将深入探讨如何在Struts框架下实现文件下载的功能。 首先,我们需要了解文件下载的基本原理。当用户点击下载...

    struts2文件下载

    在这个示例中,我们将深入探讨如何通过Struts2实现文件下载功能。 首先,我们来看一下文件下载的基本流程。当用户点击下载链接时,浏览器会向服务器发送一个新的请求,这个请求的目标是特定的Action,即`...

    struts2实现简单功能

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

    struts2实现用户登录注册

    Struts2框架是基于Action和Result的设计模式,它的主要组件包括Action类、配置文件(struts.xml)、拦截器(Interceptors)以及结果类型(Result Types)。Action类是业务逻辑的载体,处理用户的请求;配置文件用于...

Global site tag (gtag.js) - Google Analytics