zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    CentOS安装JAVA后JAVA版本不对的问题
    AES加密时抛出 Illegal key size or default parameters
    Tomcat7 安装StartSSL证书笔记
    window无法启动mongodb服务:系统找不到指定的文件错误的解决方法
    springAop @AfterReturning注解 获取返回值
    springAop 使用@Around,@After等注解时,代码运行两边的问题
    htmlunit 导致高cup占用,一老内存溢出的解决办法
    spring activemq 整合
    springMVC整合Junit4进行单元测试
    socket,tcp,http三者之间的区别和原理
  • 原文地址:https://www.cnblogs.com/a1111/p/7459744.html
Copyright © 2011-2022 走看看