我正在尝试使用Stream Result从struts2应用程序返回图像。我似乎在配置操作时遇到问题。这是配置:
<result name="success" type="stream">
<param name="contentType">image/jpeg</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">filename="${filename}"</param>
<param name="bufferSize">1024</param>
</result>
问题似乎是inputName参数,根据文档是:
来自链接操作的InputStream属性的名称(默认= inputStream)。
我不确定我应该把它放在哪里。我得到的错误是:
在调用堆栈中找不到名为[inputStream]的java.io.InputStream。
以前有人用过吗?有什么建议吗?
感谢。
答案 0 :(得分:6)
我相信你的contentDisposition错了,应该是:
<param name="contentDisposition">attachment; filename="${filename}"</param>
(克里斯)
答案 1 :(得分:5)
我发现this解释说InputStream
必须由我创建。我有意义的是从我希望用户下载的文件中创建InputStream
,然后将Stream传递给结果。我猜这是我的答案。
答案 2 :(得分:3)
Inputname定义输出“stream”
的方法的名称public InputStream getInputStream() { 返回new ByteArrayInputStream(_bytes); }