Something like this perhaps: (with-open [in (clojure.java.io/input-stream "http://google.com/favicon.ico")] (clojure.java.io/copy in (clojure.java.io/file "favicon.ico")))
Dave On Mon, Oct 15, 2012 at 6:23 AM, AtKaaZ <atk...@gmail.com> wrote: > => (use 'clj-http.client) > nil > => (= (:body (clj-http.client/get "http://google.com/favicon.ico" {:as > :steam})) (slurp "http://google.com/favicon.ico")) > true > > or if you want to save it locally as a file(thanks Apage43): > => (with-open [bodystream (:body (clj-http.client/get > "http://google.com/favicon.ico" {:as :stream}))] > (clojure.java.io/copy bodystream (clojure.java.io/file > "google_favicon.ico"))) > nil > > > On Mon, Oct 15, 2012 at 12:29 PM, Andreas Liljeqvist <bon...@gmail.com> > wrote: >> >> Haven't got access to my tools, but couldn't you just slurp it? >> >> (slurp "http://somesite/picture.jpg") >> >> On Mon, Oct 15, 2012 at 11:08 AM, dennis zhuang <killme2...@gmail.com> >> wrote: >>> >>> I think you can use clj-http: >>> https://github.com/dakrone/clj-http >>> >>> (client/get "http://site.com/favicon.ico" {:as :byte-array}) >>> >>> >>> >>> 2012/10/15 Yakovlev Roman <felix...@gmail.com> >>>> >>>> Hi >>>> I am pretty new to java world so as i found there is no simple way to >>>> get image file from url like : http://example.com/image.jpg. >>>> What i need just to get file from url and store it to db. >>>> So we need to use buffer, stream and stuff to get file. I found this >>>> code but i guess there is a way to get things simplier. >>>> >>>> (defn fetch-data [url] >>>> (let [con (-> url java.net.URL. .openConnection) >>>> fields (reduce (fn [h v] >>>> (assoc h (.getKey v) (into [] (.getValue v)))) >>>> {} (.getHeaderFields con)) >>>> size (first (fields "Content-Length")) >>>> in (java.io.BufferedInputStream. (.getInputStream con)) >>>> out (java.io.BufferedOutputStream. >>>> (java.io.FileOutputStream. "out.file")) ; Here is our >>>> file >>>> buffer (make-array Byte/TYPE 1024)] >>>> >>>> ; Not sure about that loop it's just prints size to repl if we don't >>>> need that we can omit that part i guess >>>> >>>> (loop [g (.read in buffer) >>>> r 0] >>>> (if-not (= g -1) >>>> (do >>>> (println r "/" size) >>>> (.write out buffer 0 g) >>>> (recur (.read in buffer) (+ r g))))) >>>> >>>> (.close in) >>>> (.close out) >>>> (.disconnect con))) >>>> >>>> (fetch-data "http://google.com") >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Clojure" group. >>>> To post to this group, send email to clojure@googlegroups.com >>>> Note that posts from new members are moderated - please be patient with >>>> your first post. >>>> To unsubscribe from this group, send email to >>>> clojure+unsubscr...@googlegroups.com >>>> For more options, visit this group at >>>> http://groups.google.com/group/clojure?hl=en >>> >>> >>> >>> >>> -- >>> 庄晓丹 >>> Email: killme2...@gmail.com xzhu...@avos.com >>> Site: http://fnil.net >>> Twitter: @killme2008 >>> >>> >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clojure@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >> >> >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clojure@googlegroups.com >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+unsubscr...@googlegroups.com >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en > > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en