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>

    这些文件上传和下载都是固定的套路,直接拿出来套上用就行!!!
  • 相关阅读:
    在C#中实现Python的分片技术
    如何将松散的dll打包进需要发布的exe
    Python基础学习(第8天)
    javascript中 的 + RegExp['x241'] 怎么理解
    CSS和JavaScript标签style属性对照表
    浏览器 怪异模式(Quirks Mode) 与 标准模式(Standards Mode)
    Javascript如何判断一个变量是数字类型?
    我的第一个jquery插件:下拉多选框
    javascript中===与==
    ztree高级实例(原创)
  • 原文地址:https://www.cnblogs.com/a1111/p/12816303.html
Copyright © 2011-2022 走看看