木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺

Struts2文件的下载

 

public class UploadAction extends ActionSupport implements ServletContextAware{

 

//文件下载属性

private ServletContext context;

private String filename;

private String mimeType;

private InputStream inStream;

 

 

 

 

public String getFilename() {

try {

return new String(filename.getBytes(),"ISO8859-1");

} catch (UnsupportedEncodingException e) {

System.out.println("fail");

return this.filename;

}

}

 

public void setFilename(String filename) {

 

try {

filename= new String(filename.getBytes("ISO-8859-1"),"UTF-8");

} catch (UnsupportedEncodingException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

this.filename = filename;

}

 

public String getMimeType() {

return mimeType;

}

 

public void setMimeType(String mimeType) {

this.mimeType = mimeType;

}

 

 

 

public void setInStream(InputStream inStream) {

this.inStream = inStream;

}

 

 

 

 

 

//*****************************************************

//文件下载

 

public String download() throws Exception {

mimeType = context.getMimeType(filename);

 

System.out.println(mimeType);

return SUCCESS;

}

 

public InputStream getInStream() throws FileNotFoundException {

File file = new File("C://Program Files//Apache Software Foundation//download",filename);

System.out.println(file);

//inStream = context.getResourceAsStream(/download/+filename);

inStream =new FileInputStream(file);

        System.err.println(filename+"77777777777777");

if(inStream == null){

System.out.println("下载");

}

return inStream;

}

@Override

public void setServletContext(ServletContext context) {

this.context = context;

 

}

 

 

//******************下载结束*************************************

 

 

 

struts.xml

 

 

  <!-- 下载 -->

    <action name="download" class="uploadAction" method="download">

       <result type="stream">

         <param name="contentType">${mimeType};charset=ISO8859-1</param>

        <param name="inputName">inStream</param>

        <param name="contentDisposition">attachment;filename="${filename}"</param>

</result>

</action>

 

 

请求路径http://localhost:8888/honesty/download/download.action?filename=具体文件名

 

posted @ 2010-05-12 08:55  C语言程序  阅读(102)  评论(0编辑  收藏  举报
木其网络科技专业程序员代写http://www.xmsydw.com
程序员学历擅长经验网店链接
apenny硕士ASP.NET PHP 电子 通信设计 图像 编程 网络5年进入店铺
zheng_qianqian本科C语言 C++面向对象 Java3年进入店铺
guoguanl本科Java Web项目 JSP Hibernate Struts Mysql4年进入店铺