Dies kann total blöd klingen, aber es ist ein Fall des wirklichen Lebens :(Wie kann ich eine Datei mit JSP bereitstellen? .
Ich bin der Lage, eine HTML-Tabelle mit einer „virtuellen“ Link-Namen angezeigt werden
Etwas wie folgt aus:
Xyz description <a href="docId=123">document.doc</a>
Xyz description <a href="docId=456">documentB.doc</a>
Xyz description <a href="docId=798">documentC.doc</a>
Diese Dokument-ID stellt eine ID in der Datenbank
wie auch immer (für diese Dokumente in einem Blob als byte [] gespeichert werden). ich bin in der Lage, diese ID zu bekommen, um die Datenbank abzufragen und die Byte abrufen [] (und speichern Sie es sogar in einer tmp-Datei)
Was ich nicht herausfinden kann, ist, dass, wenn der Benutzer auf den Link klickt (und nachdem ich den db-Abruf ausführen) das Byte [] an den Benutzer "dienen".
Nun der allerschlimmste Teil, und was mich dazu bringt, diese Frage hier zu stellen, ist, dass ich dies nur mit JSP (ohne Servlet) und ohne 3rd Party Libraries (nur ... frag mich nicht, warum ich hasse es auch)
So. Wie diene ich in einem jsp den binären Inhalt eines Byte-Array in dem Server-Dateisystem gespeichert
Mein erster Gast ist:
<%
InputStream read // read the file form the fle system
response.getOutputStream().write(theBytesReader);
%>
Bin ich in der Nähe der Lösung?
Würde dies für den Client funktionieren, als ob er wirklich auf dem Server für eine echte Datei geklickt hätte?
Vielen Dank im Voraus.
Fügen Sie den Code wie von BalusC angegeben in die JSP-Datei ein, verwenden Sie jedoch out.clear();, um die Ausgabe zu löschen, anstatt die Seitenformatierung zu verfälschen. –