首页 > 代码库 > ‘初学’文件下载

‘初学’文件下载

文件下载

1.准备页面index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <base href="http://www.mamicode.com/">  </head>    <body>    <a href="http://www.mamicode.com/download.action?fileName=12092-106.j31pg">点击此处下载文档</a>  </body></html>

 2.struts.xml中

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC 	"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"	"http://struts.apache.org/dtds/struts-2.0.dtd"><struts>	<!-- 动态方法调用 -->     <constant name="struts.devMode" value="http://www.mamicode.com/false" />            <package name="default" namespace="/" extends="struts-default">    	        <action name="download" class="cn.happy.action.FileDownAction" method="execute">        	<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">           		attachment;filename="${fileName}"           	</param>           <param name="bufferSize">4096</param>           </result>        </action>    </package></struts>

 3.web.xml中

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" 	xmlns="http://java.sun.com/xml/ns/javaee" 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <filter>		<filter-name>struts2</filter-name>		<filter-class>			org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter		</filter-class>	</filter>	<filter-mapping>		<filter-name>struts2</filter-name>		<url-pattern>/*</url-pattern>	</filter-mapping>		<welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>	</web-app>

  4.java类

package cn.happy.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;	//读取下载文件的输入流	@SuppressWarnings("unused")	private InputStream inputStream;	//下载文件类型	private String conentType;		@Override	public String execute() throws Exception {		return SUCCESS;					}		//创建inputStream输入流 		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;	}			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 getConentType() {		return conentType;	}	public void setConentType(String conentType) {		this.conentType = conentType;	}	}

  再给你们配张图

技术分享

 

‘初学’文件下载