我正在使用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类型 at com.liferay.portlet.MimeResponseImpl.setContentType(MimeResponseImpl.java:159)...
不知道如何解决这个问题。非常感谢别人的帮助。真的需要这样做。
答案 0 :(得分:0)
查看源代码似乎只允许application/vnd.wap.xhtml+xml
和text/html
资料来源:http://grepcode.com/file/repo1.maven.org/maven2/com.liferay.portal/portal-impl/6.0.2/com/liferay/portlet/MimeResponseImpl.java
答案 1 :(得分:0)
将portletUrlType="resource"
放入用于创建下载链接的<s:url>
标记。
<s:url var="downloadUrl" action="download" portletUrlType="resource" />