3

アプリケーションの開発には 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 は 、com.liferay.portlet.MimeResponseImpl.setContentType(MimeResponseImpl.java:159) でサポートされている MIME タイプではありません...

これを解決する方法がわかりません。誰かの助けを本当に感謝します。本当にこれを行う必要があります。

4

2 に答える 2

0

ソースコードを見ているだけのようで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

于 2013-07-18T10:42:20.583 に答える
0

ダウンロードリンクを作成するために使用するタグに付けますportletUrlType="resource"<s:url>

<s:url var="downloadUrl" action="download" portletUrlType="resource" />
于 2013-07-18T12:42:31.633 に答える