Rückkehr Datei/Dateien im JSON-Antwort (Java-Jersey-ReST)
Arbeite ich an einem Anwendungsfall, in dem ich die Anzeige von Benutzer-Nachrichten auf einer JSP. Details der Strömung sind:
- Alle Nachrichten werden in einer Tabelle angezeigt mit dem Symbol für Anhänge
- Wenn der Benutzer klickt auf den Anhang, sollte die Datei heruntergeladen bekommen.
- Wenn es mehr als eine Anlage, kann der Benutzer wählen Sie die gewünschte
einen zum download. - Die Anlagen gespeichert werden, auf das lokale Dateisystem und den Pfad für die Anlagen wird durch das system ermittelt werden.
Habe ich versucht zu implementieren, indem auf diese Fragen:
- Input-und Output-Binär-streams mit JERSEY?
- Return eine Datei, die mit Java Jersey
- Datei herunterladen in restful-web-services
Jedoch, es ist nicht die Lösung meine Zwecke aus. Ich habe die folgenden Fragen:
- Ist es möglich, um eine Nachricht zu senden Daten (wie Betreff, Nachricht, Nachrichten-id, etc) zusammen mit den Anlagen (Inputstream) in einer Antwort?
- Wenn ja, was muss der
MediaType
für@Produces
Anmerkung in meinem Ressource-Methode? Derzeit meine Ressource ist versehen mit@Produces(MediaType.APPLICATION_JSON)
. Wird das funktionieren? - So senden Sie die Daten der Datei in der Antwort?
Alle Zeiger geschätzt. TIA.
InformationsquelleAutor Pramod Karandikar | 2014-10-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie benutzerdefinierte Daten in den response-Header, also ja, Sie sind in der Lage, so zu schicken-message-Daten. Fügen Sie die Daten in den response-Header.
@Produces(MediaType.APPLICATION_JSON)
wird nicht funktionieren, es sei denn, die Kunden akzeptieren JSON als eine Datei, was Sie sollten und nicht tun wird 😉Den richtigen
MediaType
hängt davon ab, auf welche Art von Datei, die Sie senden möchten.Verwenden Sie die Standard-MediaType /MIME-Type
MediaType.APPLICATION_OCTET_STREAM
/application/octet-stream
( Gibt es eine "Standard"MIME-Typ? ), aber ich denke, es ist besser, verwenden Sie die richtigen und genauen MIME-Typ für Ihre Datei.
Finden Sie funktionierende Beispiele für das senden von Daten durch die jersey in Input-und Output-Binär-streams mit JERSEY? - so gibt es keine Notwendigkeit für diese Antwort wieder 🙂
Ich hoffe, das war hilfreich, irgendwie haben Sie einen schönen Tag.
InformationsquelleAutor zyexal