Question

J'essaie d'utiliser un résultat de flux pour renvoyer une image à partir d'une application struts2. Je semble avoir des problèmes avec la configuration de l'action. Voici la 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>

Le problème semble être le paramètre inputName qui, selon la documentation, est:

  

le nom de la propriété InputStream de l'action chaînée (default = inputStream).

Je ne suis pas sûr du nom que je devrais y mettre. L'erreur que je reçois est la suivante:

  

Impossible de trouver un fichier java.io.InputStream portant le nom [inputStream] dans la pile d'appel.

Quelqu'un l'a-t-il déjà utilisé? Un conseil?

Merci.

Était-ce utile?

La solution 2

J'ai trouvé cette qui explique que le InputStream doit être créé par moi. Il est donc logique que je crée un InputStream à partir du fichier que je souhaite télécharger, puis que je transmette le flux au résultat. Je suppose que c'est ma réponse.

Autres conseils

Je pense que vous avez le contenuDisposition faux, cela devrait être:

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

( Chris )

NomEntrée définit le nom de la méthode qui génère le "flux"

.

public InputStream getInputStream ()   {     renvoyer new ByteArrayInputStream (_bytes);   }

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top