Sorry, I just realized there's a ring-specific mailing list - apologies for 
the clutter.
Moved:
https://groups.google.com/d/topic/ring-clojure/O5HoT-UIWfk/discussion

On Tuesday, April 1, 2014 12:02:26 PM UTC-6, K Livingston wrote:
>
> I'm having trouble using a custom :store with multipart-params.  I thought 
> I did exactly what the documentation indicates, but I'm getting the default 
> behavior.
>
> http://ring-clojure.github.io/ring/ring.middleware.multipart-params.html
>
>  :store    - a function that stores a file upload. The function should
>               expect a map with :filename, content-type and :stream keys,
>               and its return value will be used as the value for the
>               parameter in the multipart parameter map. The default storage
>               function is the temp-file-store.
>
>
>
> (mp/wrap-multipart-params 
>    (POST "/upload-x" request (upload/upload-file request))
>    {:store upload/logging-store})
>
> My logging store function looks like this (it's just a dummy for now - 
> eventually I want to handle the stream in a custom way) None of that IO 
> happens.
>
> (defn logging-store [{filename     :filename
>                       content-type :content-type
>                       stream       :stream
>                       :as params}]
>   (println "in logging store")
>   (pprint filename)
>   (pprint params)
>   filename)
>
> upload-file looks like this:
>
> (defn upload-file [{params :params
>                     session :session :as request}]
>   (let [user-id (:user-id session)
>         files (get params "files")]
>     (pprint request)
>     (pprint params)
>     (response/response
>      {:status    :success})))
>
> The printing for the request and the params clearly show the multipart 
> params in there and that they are being handled by the temp file store:
>
>  :multipart-params
>  {"files"
>   {:size 1674,
>    :tempfile
>    #<File 
> /var/folders/rx/9ntjyyvs35qbmcbp6rhfmj200000gn/T/ring-multipart-3853352501927893381.tmp>,
>    :content-type "application/octet-stream",
>    :filename "blog-test.clj"}},
>
>
>
> cross post here (if you want stack overflow points):
>
> http://stackoverflow.com/questions/22792577/using-a-custom-store-with-wrap-multipart-params-in-ring-middle-ware
>

-- 
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 unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to