struts 文件下载
=============================struts 文件下载 ==================================
步骤一: JSP页面
	   <a href="download.action?fileName=IMG_0443.JPG">点击此处下载图片</a>
步骤二: Action页面
package org.zm.action;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class DownLoadAction  extends ActionSupport{
	      //读取下载文件的目录
		private String inputPath;
		//下载文件的文件名
		private String fileName;
		//读取下载文件的输入流
		private InputStream inputStream;
//下载文件的类型
		private String conetntType;
//创建InputStream输入流
		public  InputStream getInputStream() throws FileNotFoundException{
			String path=ServletActionContext.getServletContext().
					getRealPath(inputPath);
			return new BufferedInputStream(new FileInputStream(path+"\\"+
					fileName));
		}
@Override
		public String execute()  {
			return SUCCESS;
		}
		public void setInputStream(InputStream inputStream) {
			this.inputStream = inputStream;
		}
		public String getFileName() {
			return fileName;
		}
		public void setFileName(String fileName) {
			this.fileName = fileName;
		}
public String getConetntType() {
			return conetntType;
		}
public String getInputPath() {
			return inputPath;
		}
public void setInputPath(String inputPath) {
			this.inputPath = inputPath;
		}
		public void setConetntType(String conetntType) {
			this.conetntType = conetntType;
		}
}
步骤三: Struts.xml文件
   <action name="download" class="org.zm.action.DownLoadAction">
			   <param name="inputPath">/upload</param>
			   <result name="success" type="stream">
			   	<param name="contentType">image/pjpeg</param>
			   	<param name="inputName">inputStream</param>
			   	<param name="contentDisposition">attachment;filename="${fileName}"</param>
			   	<param name="bufferSize">4096</param>
			   </result>		   
  </action>
提示: Stream结果类型
contentType: 设置发送到浏览器的MIME类型
contentLength: 文件大小
contentDisposition: 设置响应的HTTP头信息的Content-Disposition参数的值
inputName: 指定Action提供的inputStream类型的属性名称
bufferSize:设置读取和下载文件时缓冲区的大小
struts.xml文件和Action 这两处位置的变量名称一定要正确。
struts 文件下载的更多相关文章
- struts 文件下载 annotation 注解版
		
[本文简介] 本文将简单介绍使用 struts2 ,通过零配置和 annotation 实现文件下载功能. [文件夹结构] [web.xml有关struts的配置] <filter> &l ...
 - Struts文件下载
		
/* 文件下载的先决条件 * 1. 在xml配置文件中必须配置一个type="stream"的result, result中不需要填写任何内容 * 2. 在Action中编写一个接 ...
 - struts文件下载机制
		
Struts2 中使用 type="stream" 的 result 进行下载即可.只用提供一个输入流inputStream,剩下的输出工作struts帮我们做. 例子一: 1.可 ...
 - Struts文件下载具体解释
		
在做项目中上传下载肯定是少不了的,本博文对struts2的下载进行解释并附上部分代码 1.action类 public class FileDownLoadAction extends ActionS ...
 - Struts文件下载(静态)
		
前言:在实际的开发中,我们可能需要动态下载和静态下载, 动态下载:例如我上传了一个文件,你想下载,那就必须动态生成下载链接,因为我服务器一开始是不知道我上传的东西是什么,放在那里, 静态下载:比如一些 ...
 - struts2中的文件上传,文件下载
		
文件上传: Servlet中的文件上传回顾 前台页面 1.提交方式post 2.表单类型 multipart/form-data 3.input type=file 表单输入项 后台 apache提交 ...
 - struts 多文件上传 annotation注解(零配置)+ ajaxfileupload + 异步 版本
		
[本文简介] struts 多文件上传.基于”零配置“+"ajaxfileupload" 的一个简单例子. [导入依赖jar包] jquery-1.7.2.js : http:// ...
 - Struts2 控制文件上传下载
		
之前介绍servlet3.0新特性的时候有提到过servlet API提供了一个part类来实现对文件的上传和保存,Struts其实是在其基础上做了进一步的封装,更加简单易用.至于文件下载,Strut ...
 - Java自学手记——struts2
		
struts2框架 struts2是一种基于MVC模式的框架,是在struts1的基础上融合了xwork的功能. struts2框架预处理了一些功能: >请求数据自动封装, >文件上传的功 ...
 
随机推荐
- scrapy爬虫笔记(三)------写入源文件的爬取
			
开始爬取网页:(2)写入源文件的爬取 为了使代码易于修改,更清晰高效的爬取网页,我们将代码写入源文件进行爬取. 主要分为以下几个步骤: 一.使用scrapy创建爬虫框架: 二.修改并编写源代码,确定我 ...
 - Phone Font Size
			
This table lists and describes the various font sizes that can be applied. Attribute = FontSize Na ...
 - VS2013 配置pthread
			
参考:http://blog.csdn.net/qianchenglenger/article/details/16907821 一.下载地址 ftp://sourceware.org/pub/pth ...
 - MySQL支持的数据类型(3)( 字符串)
			
字符串类型 字节 描述及存储需求 char(m) m m为0~255之间的整数 varchar(m) m为0~65535之间的整数 tinyblob 允许长度为0~255字节,值的长度+1个字 ...
 - Java中线程的生命周期
			
首先简单的介绍一下线程: 进程:正在运行中的程序.其实进程就是一个应用程序运行时的内存分配空间. 线程:其实就是进程中的一条执行路径.进程负责的是应用程序的空间的标示.线程负责的是应用程序的执行顺序. ...
 - JMeter--集合点设置(转)
			
集合点:简单来理解一下,虽然我们的"性能测试"理解为"多用户并发测试",但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点, ...
 - iOS柱状图的绘制
			
前段时间公司要求做一个统计,用swift3.0写的,因此整理了一下demo,直接上图 代码下载地址:https://github.com/minyahui/MYHChartView
 - mysql 创建索引和删除索引
			
索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引.删除索引可以利用ALTER TABLE或DROP INDEX语句来实现. ...
 - js事件代理(委托)
			
JavaScript事件代理(委托)一般用于以下情况: 1. 事件注册在祖先级元素上,代理其子级元素.可以减少事件注册数量,节约内存开销,提高性能. 2. 对js动态添加的子元素可自动绑定事件. 之前 ...
 - PHP 用 mb_strimwidth() 截取文章摘要
			
按字符宽度获取 mb_strimwidth ( string $str , int $start , int $width [, string $trimmarker [, string $encod ...