2008-11-02 51 views
3

我正在尝试使用流结果从struts2应用程序返回图像。我似乎在配置操作时遇到问题。这里是配置:在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。

有没有人用过这个?有什么建议?

谢谢。

回答

5

我发现this其中解释说InputStream必须由我创建。从我希望用户下载的文件中创建一个InputStream,然后将Stream传递给结果是有道理的。我想这是我的答案。

3

Inputname定义了输出 “流”

公共的InputStream的getInputStream() { 返回新ByteArrayInputStream进行(_bytes)的方法的名称; }

6

我相信你有contentDisposition错了,应该是:

<param name="contentDisposition">attachment; filename="${filename}"</param> 

克里斯