Struts2下载项目中文件

1.文件所在项目位置

Struts2下载项目中文件

2.Action

protected InputStream InputStream;
protected String fileName;

public String view() throws Exception {
			// 服务器中EXCEL文件Url
			String filePath = "/download/2019-03-28/********.xlsx";
			// 根据地址获取文件名称
			String iName[] = filePath.split("\\/");
			fileName = iName[iName.length - 1];// ********.xlsx
			// 传输
			InputStream = ServletActionContext.getServletContext().getResourceAsStream(filePath);
			return "xlsx";
	}

public InputStream getInputStream() {
		return InputStream;
	}

public void setInputStream(InputStream inputStream) {
		InputStream = inputStream;
	}

public String getFileName() {
		return fileName;
	}

public void setFileName(String fileName) {
		this.fileName = fileName;
	}

3.Struts.xml

<action name="view" class="*********************"
			method="view">
			<result name="xlsx" type="stream">
				<param name="contentType">application/octet-stream</param>
                <!-- 对应Action中fileName -->
				<param name="contentDisposition">attachment;filename="${fileName}"</param>
				<param name="bufferSize">1024</param>
                <!-- 对应Action中InputStream -->
				<param name="inputName">InputStream</param>
			</result>
</action>