struts2 如何通过连接下载服务器端文件

 我来答
hwt_211
2012-08-07 · 超过25用户采纳过TA的回答
知道答主
回答量:79
采纳率:0%
帮助的人:56.9万
展开全部
页面:<a href="${pageContext.request.contextPath }/file/downLoadAction.action?relativePath=${relativePath }">${fileFileName}</a>

struts.xml
这里主要注意的是,使用的result的类型是stream
<action name="downLoadAction" class="hwt.action.DownLoadAction">
<!
- - 设置result的类型为stream- - >
<result name="downLoad"
type="stream">
<param name="contentType">text/plain</param>
<param name="inputName">fileStream</param>
<param
name="contentDisposition">filename="${fileName}"</param>
<param name="bufferSize">1024</param>
</result>
</action>

Action中
继承actionsupport
public class DownLoadAction extends ActionSupport{
private String fileName;
private String relativePath ;

/*
* getFileStream()这个方法的名字和struts.xml的配置文件中的
* <param
name="inputName">fileStream</param>
*/
public InputStream getFileStream(){
relativePath = relativePath.replace("\\","/");
return ServletActionContext.getServletContext().getResourceAsStream("/"+FileUploadUtils.baseName+"/"+relativePath);
}

public String execute(){
return "downLoad";
}

public String getFileName() {
fileName = relativePath.substring(relativePath.lastIndexOf("/")+1);
return fileName;
}

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

public String getRelativePath() {
return relativePath;
}

public void setRelativePath(String relativePath) {
this.relativePath = relativePath;
}
}
独脚镇天山
2012-08-07 · TA获得超过532个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:166万
展开全部
返回一个outputStream,跟struts框架无关。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式