We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Struts2文件下载的相关配置如下:
<package name="defaultPackage" extends="struts-default"> <!--配置下载Action入口--> <action name="download" class="com.johnnian.DownloadAction" > <!--stream 是文件下载的时候专用的--> <result name="success" type="stream"> <!--文件下载的类型--> <param name="contentType">${contentType}</param> <!--文件下载方式分为:--> <param name="contentDisposition">inline;filename="${filename}"</param> <!--文件下载入口--> <param name="inputName">testDownload</param> <param name="bufferSize">1024</param> </result> </action> </package>
相关说明:
1、 contentType: 下载文件的类型,客户端向Tomcat请求静态资源的时候,Tomcat会自动在 Response Head 里面添加 “Content-Type” 属性,具体的属性列表配置,参考Tomcat下的 web.xml.
2、 contentDisposition: 这个属性配置下载文件的文件名等属性,其中文件类型划分为inline、attachment两种:
这个差别还是有的,比如想要让下载的文件直接在浏览器打开,就需要设置成“inline”
3、 inputName: 配置下载请求的执行方法,例如,上述配置成 “testDownload”, 则在Action类中就需要实现 “getTestDownload” 方法。
4、配置文件中的 ${contentType}, {filename}, 需要在实现的接口上定义对应的属性,只要设置好其属性,就可以了~
${contentType}
{filename}
public class TicketDownloadAction extends ActionSupport { private String testParam; private String filename;//文件名 private String contentType;//文件类型 /** * 下载处理方法: */ public InputStream getTestDownload() { // 直接获取参数 String params = getTestParam(); String path = "/Users/Johnnian/tmp/123.png"; this.setFilename("123.png"); this.setContentType("image/png"); InputStream inputStream = null; try { inputStream = new FileInputStream(path); } catch (FileNotFoundException e) { e.printStackTrace(); } //可以应答任何继承 InputStream 的类实例 return inputStream; } //--------------------------------- // Gettter & Setter //--------------------------------- public String getTestParam() { return testParam; } public void setTestParam(String testParam) { this.testParam = testParam; } 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; } }
说明:
<a href="http://127.0.0.1:8080/posbox/downloadTicket.jhtml?testParam=12345678"> 点击下载 </a>
可以直接在 <a> 、<img> 等标签中直接使用.
<a>
<img>
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Struts2文件下载的相关配置如下:
Struts.xml 配置
相关说明:
1、 contentType:
下载文件的类型,客户端向Tomcat请求静态资源的时候,Tomcat会自动在 Response Head 里面添加 “Content-Type” 属性,具体的属性列表配置,参考Tomcat下的 web.xml.
2、 contentDisposition:
这个属性配置下载文件的文件名等属性,其中文件类型划分为inline、attachment两种:
这个差别还是有的,比如想要让下载的文件直接在浏览器打开,就需要设置成“inline”
3、 inputName:
配置下载请求的执行方法,例如,上述配置成 “testDownload”, 则在Action类中就需要实现 “getTestDownload” 方法。
4、配置文件中的
${contentType}
,{filename}
, 需要在实现的接口上定义对应的属性,只要设置好其属性,就可以了~Java后台
说明:
Web前端
可以直接在
<a>
、<img>
等标签中直接使用.The text was updated successfully, but these errors were encountered: