Liferay:MVCPortlet文件下载的方法

文件下载是我们经常需要实现的功能。

在liferay的portlet中怎么实现文件下载呢?

以MVCPortlet为例简单说明。

1.首先在view.jsp文件中生成一个链接。

<%
    // URL
    ResourceURL downloadURL = renderResponse.createResourceURL();
    // set parameters
    downloadURL.setParameter("filename", "filenamepath");
%>

<a href="<%=downloadURL.toString()%>">download file</a>

2. MVCPortlet的portlet类中添加方法

public void serveResource(ResourceRequest resourceRequest,
            ResourceResponse resourceResponse) throws IOException,
            PortletException {
    String filename = ParamUtil.getString(resourceRequest, "filename");
    String tempFile = new File("rootpath" + "/" + filename);
    // download
    ServletResponseUtil.sendFile(PortalUtil.getHttpServletRequest(resourceRequest), PortalUtil.getHttpServletResponse(resourceResponse), filename, FileUtil.getBytes(tempFile));
}


下载这个地方用serveResource方法比较好,如果用processAction等方法貌似有点小问题。

还是比较简单的吧!



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值