zoukankan      html  css  js  c++  java
  • 文件下载

    //文件下载
    在标签里制定文件的路径:
    <a href="download.action?fileName=16.1.txt">点击此处下载文档</a> 
    制定的文件是web工程中的


    <action name="download" class="action.FileDownAction">
        <param name="inputPath">/image</param>
        <result name="success" type="stream">
         <param name="contentType">application/octet-stream</param>
         <param name="inputName">inputStream</param>
         <param name="contentDisposition">
          arrachment;filename="${fileName}"
         </param>
         <param name="bufferSize">4096</param>
        </result>
        </action>


    创建真正文件下载类FileDownAction

    package 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 FileDownAction extends ActionSupport {

     private String inputPath;
     private String fileName;
     private InputStream inputStream;
     private String contentType;
     public String getInputPath() {
      return inputPath;
     }
     public void setInputPath(String inputPath) {
      this.inputPath = inputPath;
     }
     public String getFileName() {
      return fileName;
     }
     public void setFileName(String fileName) {
      this.fileName = fileName;
     }
     public InputStream getInputStream() throws Exception {
      String path =ServletActionContext.getServletContext().getRealPath(inputPath);
      return new BufferedInputStream(new FileInputStream(path+"\"+fileName));
     }
     public void setInputStream(InputStream inputStream) {
      this.inputStream = inputStream;
     }
     public String getContentType() {
      return contentType;
     }
     public void setContentType(String contentType) {
      this.contentType = contentType;
     }
     @Override
     public String execute() throws Exception {
      return SUCCESS;
     }
      
    }

  • 相关阅读:
    信号、事件与状态
    信号处理机制的范式分析
    三寒两倒七分饱
    血热的人吃什么好
    消息、信息与信号的区别
    Busy waiting
    事件的处理机制:单播、广播、链式路由、职责链。
    事件处理:pull与push
    响应式编程
    类、组件、人机交互
  • 原文地址:https://www.cnblogs.com/myhome-1/p/5946044.html
Copyright © 2011-2022 走看看