文档章节

Struts2 文件下载

dengkaix
 dengkaix
发布于 2016/06/20 11:15
字数 248
阅读 12
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

使用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>

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

本文转载自:http://www.cnblogs.com/LTblackcat/p/4834431.html

上一篇: Struts2拦截器
下一篇: Struts2多文件上传
dengkaix
粉丝 0
博文 5
码字总数 0
作品 0
南京
程序员
私信 提问
Struts2实现文件上传和下载

在做B/S系统时,通常会涉及到上传文件和下载文件,在没接struts2框架之前,我们都是使用apache下面的commons子项目的FileUpload组件来进行文件的上传,但是那样做的话,代码看起来比较繁琐,...

颖辉小居
2015/11/26
83
4
使用Struts2控制文件下载

1 使用Struts2控制文件下载 可能很多人会觉得,文件下载太简单,直接在页面上给出一个超级链接,该链接的href属性等于要下载文件的文件名,不就可以实现文件下载了吗?大 部分时候的确可以实...

陈招林
2010/03/24
2.7K
0
关于struts2漏洞问题及解决办法

关于Struts2漏洞引起的问题我就不详细细说了,最近在各大网站及论坛上都有描述,上面都列出了具体的解决办法对策,对我来说,刚好遇到有现实的案例去解决,在参考了各大论坛、博客的文档之后...

zkool
2013/08/05
1K
0
HelloWorld概述

2.1 概述 2.1.1 功能概述 通过上一章的讲述,明白了Struts2是什么,有什么以及能干什么,接下来就该来讨论怎么做的问题了,也就是讨论如何使用Struts2来开发基于MVC的web应用。 按照惯例,学...

空呗
2014/01/08
249
1
Struts2 文件下载后的路径问题

Struts2文件下载,我们返回的是一个stream,对于这个stream的具体操作是由struts2完成的,我想知道有没有办法获得下载的这个文件的保存路径?

_-Leslie
2013/12/13
788
0

没有更多内容

加载失败,请刷新页面

加载更多

如何更改iOS应用程序的名称?

我前几天用一个愚蠢的开发代码名称开始了一个iPhone项目,现在我想改变项目的名称,因为它已经接近完成了。 但是我不知道如何使用Xcode来做这件事,尝试在info.plist文件中更改应用程序的名称...

技术盛宴
25分钟前
3
0
关于win10tensorflow的配置(CPU+GPU)

主要内容 CPU篇 GPU篇 【前期准备与注意事项】 环境:window1064位+python36(37)+CUDA9.0+cuDNN7.6+tensorflow_gpu-1.12.0 软件:anaconda+pycharm 硬件:有nvidia显卡的笔记本或台式(非A...

放只虎归个山
34分钟前
2
0
C#中的多行字符串文字

有没有一种简单的方法可以在C#中创建多行字符串文字? 这是我现在所拥有的: string query = "SELECT foo, bar"+ " FROM table"+ " WHERE id = 42"; 我知道PHP有 <<<BLOCKBLOCK; C#是......

javail
41分钟前
4
0
微信支付之小微商户扫盲!支持信用卡,免营业执照!

微信支付商户申请面向线下小微商户开放,符合条件的微信支付服务商可为小微商户发起接入申请。无需营业执照。 小微商户日收款额度为5万元~30万元 。 信用卡支付日限额为1千;月限额1万。 结算...

吴伟祥
今天
4
0
大话SDWebImage(三)-- 图片下载层

四、图片下载层 SDWebImageDownloader是处理图片下载的类 4.1 图片下载步骤 首先介绍下dispatch_barrier,GCD中的dispatch_barrier目的是在并发队列实现串行的效果,创建下载任务SDWebImageD...

aron1992
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部