zoukankan      html  css  js  c++  java
  • 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=具体文件名

  • 相关阅读:
    kobject.c 添加注释
    DNS之四---实现DNS的转发功能
    DNS之三-----实现DNS的TCP/UDP功能及子域委派
    DNS之二---实现DNS主从复制
    第十二周----chrony时间同步与Cobbler+PXE自动化安装
    网络时间同步服务和chrony
    第十一周----黑客加入黑名单及将普通用户授权root权限
    第十周--IP监控任务脚本实现
    ELK之十三----kibana dashboard(仪表盘)使用
    vmware虚拟机下linux centos6.6只有lo,没有eth0网卡、随机分配ip地址,固定ip地址等问题
  • 原文地址:https://www.cnblogs.com/java20130726/p/3218452.html
Copyright © 2011-2022 走看看