=> *(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 <[email protected]>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 <[email protected]>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 <[email protected]>
>>
>>> 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 [email protected]
>>> Note that posts from new members are moderated - please be patient with
>>> your first post.
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/clojure?hl=en
>>
>>
>>
>>
>> --
>> 庄晓丹
>> Email:        [email protected] [email protected]
>> 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 [email protected]
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> [email protected]
>> 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 [email protected]
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to