struts2 下载

简介: struts.xml <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC     "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"     "http://struts.apache.org/




struts.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">


<struts>


    <constant name="struts.multipart.maxSize" value="10701096"/>
    <constant name="struts.devMode" value="true" />
  <package name="lhy" namespace="/lhy" extends="struts-default">
  
        


<action name="download" class="action.FileDownLoad" method="downLoad">
<!-- 
        (1)  <param name="contentDisposition">attachment;fileName="${fileName}"</param>
                      contentDisposition默认是 inline(内联的), 比如说下载的文件是文本类型的,
                                                         就直接在网页上打开,不能直接打开的才会打开下载框自己选择
                 (2)<param name="contentDisposition">attachment;filename="${fileName}"</param>
                     attachment :下载时会打开下载框
                      fileName="${fileName}" :在这定义的名字是一个动态的,在value stack中
                  (3) <param name="inputName">lhydownload</param>,这个downloadFile名字要和
                       FileDownload.java类中的getLhydownload()方法名去掉get 一致
         (4)bufferSize 下载缓冲区的大小


-->


<result type="stream" name="download">
<param name="contentType">application/octet-stream</param>
<!-- 要有相对应的getDownloadFile()方法返回值是 InputStream -->
<param name="inputName">lhydownload</param>
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">4096</param>
</result>
</action>
</package>
</struts>




FileDownLoad.java

package action;


import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;


import org.apache.struts2.ServletActionContext;


import com.opensymphony.xwork2.ActionSupport;


public class FileDownLoad extends ActionSupport{



private String fileName;

public String downLoad()
{
//此方法不尽兴任何操作,只有返回值
return "download";
}


public InputStream getLhydownload()
{
//声明输入流 
InputStream is = null;
String filePath=ServletActionContext.getServletContext().getRealPath("/upload");

System.out.println(filePath);
System.out.println(fileName);
try {
is = new FileInputStream(filePath+"/"+fileName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(is);
return is;
}
public String getFileName() {
return fileName;
}


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


jsp

<a href="/struts_uploadFile_download/lhy/download.action?fileName=20150923184827.jpg">下载</a>

目录
相关文章
|
前端开发 数据库
struts2实现的文件上传下载案例(二)、FileUpLoad文件的下载
struts2实现的文件上传下载案例(二)、FileUpLoad文件的下载
108 0
|
Java 开发者
Struts2的文件下载 | 学习笔记
快速学习 Struts2的文件下载,介绍了 Struts2的文件下载系统机制, 以及在实际应用过程中如何使用。
|
Java API
Struts2的下载和安装
Struts2的下载   使用Struts2框架,进行Web开发,或者运行Struts2的程序,必须,先下载并安装好Struts2   从Struts2的官网中进行下载   http://struts.
1464 0
|
XML Java 数据格式
|
XML Java 数据格式
|
Java 容器 开发框架
|
Web App开发 Java
Struts2文件的下载
1、下载登录页面download.jsp 1: 3: 4: 5: 6: 7: 8: 下载页面 9: 10: 11: 下载前的登录页面 12: 13: 14: ...
728 0