【问题标题】:Create an attachment from MVCPortlet - serveResource从 MVCPortlet 创建附件 - serveResource
【发布时间】:2014-04-18 07:13:47
【问题描述】:

当用户单击超链接时,我需要导出一个 .property 文件。我正在使用 liferay 门户 6.1.1。当用户单击超链接时,我正在为 MyMVCPortlet 类中的 serveResource 方法创建一个 jquery.get()。这里的代码总是将内容写入响应(在提琴手上验证)但没有创建可下载的文件。

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 上工作。有什么我想念的吗?提前致谢!

【问题讨论】:

  • 同样的代码对我有用 :) 你想让我和你分享战争吗
  • 你也可以发布 jQuery 部分吗?或者可以分享更多细节。谢谢

标签: file download liferay portlet


【解决方案1】:

尝试使用PortletResponseUtil.sendFile() 之一,而不是手动操作portletOutputStream。例如。

PortletResponseUtil.sendFile(resourceRequest, resourceResponse, "test.txt", "key=value".getBytes())

【讨论】:

    猜你喜欢
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2015-05-22
    • 2014-11-08
    相关资源
    最近更新 更多