【问题标题】:ERROR: application/pdf is not a supported mime type [duplicate]错误:应用程序/pdf 不是受支持的 mime 类型 [重复]
【发布时间】:2013-07-17 06:19:47
【问题描述】:

我正在使用 Struts2 和 Liferay 开发应用程序。

我的struts.xml如下:

<action name="download" class="com.stp.portal.view.DownloadAction">
    <result name="success" type="stream">
        <param name="contentType">application/pdf</param>
        <param name="inputName">fileInputStream</param>
        <param name="contentDisposition">attachment;filename="abc.pdf"</param>
        <param name="bufferSize">1024</param>
    </result>
</action>

我基本上想从服务器下载一个 pdf 文件。但我收到以下错误:

10:05:55,782 错误 [Jsr168Dispatcher:38] 无法执行操作 java.lang.IllegalArgumentException: application/pdf 不是受支持的 mime 类型 在 com.liferay.portlet.MimeResponseImpl.setContentType(MimeResponseImpl.java:159)...

不知道如何解决。真的很感激有人的帮助。确实需要这样做。

【问题讨论】:

标签: struts2 liferay liferay-6


【解决方案1】:

查看源代码似乎只允许使用application/vnd.wap.xhtml+xmltext/html
来源:http://grepcode.com/file/repo1.maven.org/maven2/com.liferay.portal/portal-impl/6.0.2/com/liferay/portlet/MimeResponseImpl.java

【讨论】:

  • 有什么办法吗?我想从服务器下载一个 pdf 文件。我已经失去了 2 天。
【解决方案2】:

portletUrlType="resource" 添加到您用来创建下载链接的&lt;s:url&gt; 标签。

<s:url var="downloadUrl" action="download" portletUrlType="resource" />

【讨论】:

  • 不适合我,同样的错误
  • @user2594235:刚刚测试过,对我有用。您是否正确地重新部署了您的 portlet? Liferay 倾向于缓存所有内容。还有哪个版本的 Struts2 和 portlet 插件?
  • 我重新部署了 portlet,但仍然无法正常工作,我正在使用 portlet pugin 2.2.3
  • @user2594235:您可以尝试使用最新版本,但 AFAIK 它应该也适用于旧版本。您确定更改会反映在 JSP 中吗?尝试更改一些文本并查看。同时发布生成的网址。
猜你喜欢
  • 1970-01-01
  • 2019-08-06
  • 2020-05-31
  • 2021-03-27
  • 2019-09-16
  • 2021-12-23
  • 2020-11-10
  • 2020-12-31
  • 1970-01-01
相关资源
最近更新 更多