it gets whole session so i guess our data in :body and then what to do with that array I need something like a curl: curl http://example.com/img.jpg > img.jpg get file via url and put it to local directory...
понедельник, 15 октября 2012 г., 13:08:45 UTC+4 пользователь dennis написал: > > 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 <feli...@gmail.com <javascript:>> > >> 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 clo...@googlegroups.com<javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en > > > > > -- > 庄晓丹 > Email: killm...@gmail.com <javascript:> xzh...@avos.com<javascript:> > 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