当用户点击超链接时,我需要导出.property文件。我正在使用liferay门户网站6.1.1。当用户点击超链接时,我正在为myMVCPortlet类中的serveResource方法创建一个jquery.get()。这里的代码始终将内容写入响应(在fiddler上验证)但不创建可下载文件。
resourceResponse.reset();
resourceResponse.setContentType("text/plain");
resourceResponse.setProperty("content-disposition", "attachment; filename=test.txt");
OutputStream out = resourceResponse.getPortletOutputStream();
try {
out.write("key=value".getBytes());
}
catch(IOException e){
e.printStackTrace();
}
finally {
out.close();//Also tried out.flush(); - dint help
}
写完成后我是否需要在resourceResponse上设置一些内容?
我尝试了不同的选择并且筋疲力尽。普通java servlet上的相同代码可以工作,但不适用于liferay。有什么我想念的吗?提前谢谢!
答案 0 :(得分:0)
尝试在PortletResponseUtil.sendFile()
上使用portletOutputStream
而不是手动操作。例如
PortletResponseUtil.sendFile(resourceRequest, resourceResponse, "test.txt", "key=value".getBytes())