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;
     }
      
    }

  • 相关阅读:
    需求分析模板
    【转】卓有成效的敏捷开发流程
    敏捷建模者的个性
    四个凡事:有章可循,有人负责,有据可查,有人监督
    全局变量初始化的重要性
    Windows下虚拟串口工具:com0com可做串口调试用
    【转】各种加解密算法比较
    WSASocket函数未定义和重定义错误
    海明校验码
    stl学习总结
  • 原文地址:https://www.cnblogs.com/lianceng/p/5959180.html
Copyright © 2011-2022 走看看