首页 > 代码库 > struts2 下载文件
struts2 下载文件
当下载的文件名字中不含有汉字,或者下载的文件不需要考虑用户的权限问题时。直接让超链接的href属性为所要下载的文件名即可。否则最好使用struts2的文件下载机制。
以下载图片为例
完整的代码:
action:
import java.io.File;import java.io.InputStream;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.Action;public class FileDownloadAction implements Action{ private String filepath=null; private InputStream inputStream=null; public void setFilepath(String filepath) { this.filepath = filepath; } public InputStream getFile(){ return inputStream; } @Override public String execute() throws Exception { String filename=ServletActionContext. getRequest().getParameter("filename"); inputStream=ServletActionContext. getServletContext().getResourceAsStream(filepath+ File.separator+filename); if(inputStream!=null){ return SUCCESS; }else { return ERROR; } }}
struts.xml配置:
<package name="syxpj" extends="struts-default" namespace="/syxpj"> <action name="download" class="download" > <result name="success" type="stream"> <param name="contentType">image/jpg</param> <param name="inputName">file</param> <param name="contentDisposition">filename="${request[‘filename‘]}"</param> <param name="bufferSize">1024</param> </result> </action></package>
使用:
<a href="${pageContext.request.contextPath}/syxpj/download.action?filename=belle.jpg">数据模板</a>
其他文件只需要将action 的result的contentType参数变为相应的值即可。
struts2 下载文件
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。