javastruts2resulttype

Using Stream Result with Struts2


I am attempting to use a Stream Result to return an image from a struts2 application. I seem to be having problem with configuring the action. Here is the configuration:

    <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>

The problem seem to be the inputName parameter which according to the docs is:

the name of the InputStream property from the chained action (default = inputStream).

I am not sure what name I should put there. The error I get is:

Can not find a java.io.InputStream with the name [inputStream] in the invocation stack.

Has anyone used this before? Any advice?

Thanks.


Solution

  • I found this which explained that the InputStream has to be created by me. It makes sense that I create an InputStream from the file that I want the user to download and then pass the Stream to the result. I guess that's my answer.