Struts文件上传与下载详解_文件的下载

简介: Struts文件上传与下载详解_文件的下载

在 两篇我们主要说的是文件的上传,既然有上传那就有下载,那么咱们看一下struts里面是怎么个下载法!

1.写个文件下载的表单页面:

 

<a href="downLoad.action?fileName=1111.jpg">下载文件</a>


很简单的我们写一行就行,需要注意的是,既然你要下载的是111.jpg文件,那么你的服务器里面肯定得有一个111.jpg在里面放着才能供你下载,要不然会报错的!!!

      接着我们写一下DownLoadAction里面的方法:

package org.web;
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 DownLoadAction extends ActionSupport {
  private String inputPath;
  private String fileName;
  private String contentType;
  private InputStream inputStream;
  
  
  public String excute(){
    
    return SUCCESS;
  }
  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 String getContentType() {
    return contentType;
  }
  public void setContentType(String contentType) {
    this.contentType = contentType;
  }
  public InputStream getInputStream() throws FileNotFoundException {
    String path=ServletActionContext.getServletContext().getRealPath(inputPath);
    return new BufferedInputStream(new FileInputStream(path+"/"+fileName));
  }
  public void setInputStream(InputStream inputStream) {
    this.inputStream = inputStream;
  }
    
  
}


这个 DownLoadAction里面很简单,重要的是struts.xml配置文件里面的东西,那么请大家看:

<!-- 文件下载 -->
    <action name="downLoad" class="org.web.DownLoadAction">
      <param name="inputPath">/upload</param>
      <result name="success" type="stream">
        <param name="contentType">application/octet-stream</param>
        <param name="inputName">inputStream</param>
        <param name="contentDisposition">
          
          attachment;filename="${fileName}"
        </param>
        <param name="bufferSize">4096</param>
      </result>
    </action>


这些文件上传和下载都是固定的套路,直接拿出来套上用就行!!!

相关文章
|
7月前
SpringMVC之文件上传和下载
【1月更文挑战第20天】SpringMVC之文件上传和下载
47 1
|
7月前
|
Java
Struts文件上传与下载详解 _上传多个文件
Struts文件上传与下载详解 _上传多个文件
|
7月前
|
Java
Struts文件上传与下载详解_上传单个文件
Struts文件上传与下载详解_上传单个文件
|
7月前
|
存储 前端开发 Java
SpringMVC 文件上传和下载
SpringMVC 文件上传和下载
45 0
|
7月前
|
JavaScript 前端开发
javaweb文件上传和下载
javaweb文件上传和下载
|
Java 应用服务中间件
JavaWeb 文件上传和下载
JavaWeb——文件上传与下载 内容分享。
226 0
|
JSON 前端开发 Java
springmvc文件的上传和下载
springmvc文件的上传和下载
151 0
springmvc文件的上传和下载
SpringMVC学习(十):文件的上传和下载
在SpringMVC中使用ResponseEntity实现下载文件的功能
119 0
|
前端开发 Java Maven
【SpringMVC 从 0 开始】文件上传和下载
【SpringMVC 从 0 开始】文件上传和下载
【SpringMVC 从 0 开始】文件上传和下载