Usando Resultado Stream com Struts2
-
05-07-2019 - |
Pergunta
Eu estou tentando usar um resultado Stream para retornar uma imagem a partir de um aplicativo struts2. Parece que estou tendo problema com a configuração da ação. Aqui está a configuração:
<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>
O problema parece ser o parâmetro inputName que de acordo com os documentos é:
o nome da propriedade InputStream da ação encadeada (default = inputStream).
Não estou certo de que nome devo colocar lá. O erro que eu recebo é:
Não é possível encontrar um java.io.InputStream com o nome [inputStream] na pilha de chamada.
Alguém já usou isso antes? Algum conselho?
Graças.
Solução 2
este , que explicou que o InputStream
tem que ser criado por mim. Faz sentido que eu criar um InputStream
dos autos que eu quero o usuário para baixar e, em seguida, passar o Stream para o resultado. Eu acho que é a minha resposta.
Outras dicas
Eu acredito que você tem a errada ContentDisposition, que deve ser:
<param name="contentDisposition">attachment; filename="${filename}"</param>
( Chris )
InputName define o nome do método que produz o "stream"
pública InputStream getInputStream () { retornar nova ByteArrayInputStream (_bytes); }