struts2 文件上载功能
struts2 文件下载功能
struts.xml
XxxxxAction.java
注:关于配置stream返回类型的参数,请参阅其他文档。
缺点:如果是动态打包下载,则必须生成临时zip文件。不生成临时文件的动态打包也可以,待续。
struts.xml
<action name="downloadData" class="XxxxxAction" method="getxxxxxFile"> <result name="success" type="stream"> <param name="contentType">application/zip</param> <param name="inputName">inputData</param> <param name="contentDisposition">filename="${downloadFileName}"</param> <param name="bufferSize">4096</param> </result> </action>
XxxxxAction.java
public String getxxxxxFile() throws Exception { // 在这里做文件下载前的准备工作,权限验证,文件打包等 return SUCCESS; } // 对应struts配置中的<param name="contentDisposition"> // 返回自定义的下载文件名称 public String getDownloadFileName() { return "download.dat"; } // 对应struts配置中的<param name="inputName"> public InputStream getInputData() throws Exception { // 返回的数据流包含要下载的文件 return new java.io.FileInputStream("C:\\data\\data01.dat"); }
注:关于配置stream返回类型的参数,请参阅其他文档。
缺点:如果是动态打包下载,则必须生成临时zip文件。不生成临时文件的动态打包也可以,待续。