使用Struts2做一个简单的文件下载。

首先,导包,写配置文件就不说了。

进入主题。

文件下载操作类:FileDownload.java

import java.io.InputStream;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public class FileDownload extends ActionSupport{
 
 private InputStream inputStream;
 private String fileName;

public String getFileName() {
  return fileName;
 }

public void setFileName(String fileName) {
  this.fileName = fileName;
 }

public InputStream getInputStream() {
  fileName="144003645679.jpg";
  return ServletActionContext.getServletContext().getResourceAsStream("/upload/144003645679.jpg");
  
 }
 
 public String execute() {
  return SUCCESS;
 }
}

Struts.xml文件

<package name="fileaction" namespace="/" extends="struts-default">

<action name="filedownload" class="com.dkx.action.FileDownload" >
    <result name="success" type="stream">
    <!-- contentType 指定下载文件的文件类型 —— application/octet-stream 表示无限制   -->
               <param name="contentType">text/plain</param>
              
               <!-- contentDisposition 使用经过转码的文件名作为下载文件名 ——
                 默认格式是attachment;filename="${fileName}",
                 将调用该Action中的getFileName方法。 --> 
                
               <param name="contentDisposition">attachment;fileName="${fileName}"</param> 
              
               <!-- inputName 流对象名 ——
                比如这里写inputStream,它就会自动去找Action中的getInputStream方法。 -->
              
               <param name="inputName">inputStream</param> 
              
               <!-- 指定下载文件的缓冲大小 -->
              
               <param name="bufferSize">50000000</param>
         </result> 
    </action>
   </package>

Jsp页面文件:

<a href="${basePath }filedownload.action">下载</a>

至此大功告成。点击下载。。

Struts2 文件下载的更多相关文章

  1. Struts2文件下载浅析

    Struts2极大的简化了文件上传和下载,本文将主要介绍一下Struts2文件下载的实现1.功能主要是,在下载页面点击下载后,则下载相应的文件 2.代码部分jsp页面downloadPage:< ...

  2. struts2文件下载 <result type="stream">

    <!--struts.xml配置--> <action name="download" class="com.unmi.action.DownloadA ...

  3. struts2文件下载及 <param name="inputName">inputStream</param>的理解

    转自:http://blog.csdn.net/wnczwl369/article/details/7483290 转自:http://hi.baidu.com/c2_sun/item/934a542 ...

  4. struts2文件下载相关信息

    struts.xml文件配置: <span style="font-size:16px;"><?xml version="1.0" encod ...

  5. Struts2文件下载

    1). Struts2 中使用 type="stream" 的 result 进行下载 2). 可以为 stream 的 result 设定如下参数 contentType: 结果 ...

  6. struts2文件下载出现Can not find a java.io.InputStream with the name的错误

    今天在用struts2就行文件下载时出现如下错误: Servlet.service() for servlet default threw exception java.lang.IllegalArg ...

  7. Struts2 文件下载(中文处理方法以及控制下载文件名称和扩展名)

    Struts2的框架提供了现成的文件下载方式,大大简化了开发下载功能的便利性.网上的例子有很多,我把一些大家普遍比较关注的点,集中一下,给出一个整体方案. 一般我们照着书本或者网上的列子写出了一个De ...

  8. struts2文件下载,动态设置资源地址

    转自:http://blog.csdn.net/ctrl_shift_del/article/details/6277340 ServletActionContext.getServletContex ...

  9. struts2文件下载 出现Can not find a java.io.InputStream with the name的错误

    成功代码: 前台界面jsp: <a style="text-decoration:none;" href="<%=path %>/main/frontN ...

随机推荐

  1. UPdate 延时盲注之小技巧

    Title:UPdate 延时盲注之小技巧  --2014-06-05 15:21 UPDATE TABLEZZZ SET zz=111111 where id=$id 当TABLEZZZ表为空的时候 ...

  2. 【JavaScript】关于JavaScript

    1. Language 2. DOM 3. Library 4. Framework

  3. 王学长的LCT标程

    善良的王学长竟然亲自打了一遍QAQ好感动QAQ #include<iostream> #include<cstdio> #include<cmath> #inclu ...

  4. jquery 选择器 的学习,自己慢慢来

    1//加载所有元素后,执行下列代码 <script type="text/javascript"> $(document).ready(function(){ //选择 ...

  5. HDOJ(HDU) 2060 Snooker(英语很重要。。。)

    Problem Description background: Philip likes to play the QQ game of Snooker when he wants a relax, t ...

  6. Android Memory Leak

    线程也是造成内存泄露的一个重要的源头.线程产生内存泄露的主要原因在于线程生命周期的不可控.1.看一下下面是否存在问题 public class ThreadActivity extends Activ ...

  7. [Design Pattern] Iterator Pattern 简单案例

    Iterator Pattern,即迭代时模式,按照顺序依次遍历集合内的每一个元素,而不用了解集合的底层实现,属于行为类的设计模式.为了方便理解记忆,我也会称其为遍历模式. 下面是一个迭代器模式的简单 ...

  8. Be Sociable, Share!

  9. View Controller 生命周期的各个方法的用法

    (void)awakeFromNib; 这个方法用的时候,outlet还没有连接起来,是view Controller刚从storyboard建的时候,没有完全建好,不过可能有一些事情要在这个方法里面 ...

  10. Java实现BASE64编解码

    Java实现BASE64编解码 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs BASE64和其它类似的编码算法通经常使用于转换二进制数据为文本数据,其目 ...