Mit Stream-Ergebnis mit Struts2
-
05-07-2019 - |
Frage
Ich bin versucht, einen Stream-Ergebnis zu verwenden, um ein Bild von einer struts2 Anwendung zurückzukehren. Ich scheine Problem zu haben mit der Aktion konfigurieren. Hier ist die Konfiguration:
<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>
Das Problem scheint die Parameter inputname zu sein, die für die Dokumentation gemäß ist:
der Name der Input Eigenschaft aus der verketteten Aktion (default = input).
Ich bin nicht sicher, welchen Namen ich setzen soll. Der Fehler, den ich bekommen ist:
Es kann keine java.io.InputStream mit dem Namen [input] im Aufruf-Stack finden.
Hat jemand verwendet diese vor? Jede Beratung?
Danke.
Lösung 2
Ich fand this die erklärte, dass die InputStream
von mir erstellt werden muss. Es macht Sinn, dass ich einen InputStream
aus der Datei erstellen, die ich mag der Benutzer herunterladen und dann den Strom zu dem Ergebnis übergeben. Ich denke, das ist meine Antwort.
Andere Tipps
Ich glaube, Sie haben die contentDisposition falsch, sollte es sein:
<param name="contentDisposition">attachment; filename="${filename}"</param>
( Chris )
Inputname definiert den Namen des Verfahrens, das den „Strom“
Ausgängepublic Input getInputStream () { return new ByteArrayInputStream (_bytes); }