bedienen Ich möchte eine PDF-Datei (oder eine andere Binärdatei) in einer Clojure-Ring-Antwort bereitstellen. Dies funktioniertBinär-Inhalt mit Clojure-Ring
(defn serve-file [request]
{:status 200
:headers {"Content-Type" "application/pdf"}
:body (FileInputStream. "file.pdf")})
Aber ich schließe nicht explizit den FileInputStream. Führt dies zu einem Speicherleck oder wird es vom zugrunde liegenden Webserver (Jetty) geschlossen? Wenn nicht, wie schließe ich es selbst?
Ein alternativer Ansatz ist einfach verwenden, um 'ring.middleware.file' und' file-info'. Siehe http://mmcgrana.github.com/ring/ –