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

Reply via email to