Photo upload wip

pull/645/head
Tienson Qin 2020-04-13 13:00:36 +08:00
parent 23c41cb571
commit 4e0f65a17f
4 changed files with 30 additions and 49 deletions

View File

@ -42,20 +42,9 @@
(let [files (.-files (.-target e))]
(image/upload
files
(fn [file file-form-data file-name file-type]
;; TODO: set uploading
(.append file-form-data "name" file-name)
(.append file-form-data file-type true)
;; (citrus/dispatch!
;; :image/upload
;; file-form-data
;; (fn [url]
;; (reset! uploading? false)
;; (swap! form assoc name url)
;; (if on-uploaded
;; (on-uploaded form name url))))
))))
(fn [file file-name file-type]
(handler/request-presigned-url file file-name file-type
)))))
;; :hidden true
}]])

View File

@ -111,20 +111,6 @@
:remote "origin"
:ref default-branch})))
(defn add-commit-push
[repo-url file message token push-ok-handler push-error-handler]
(util/p-handle
(let [files (if (coll? file) file [file])]
(doseq [file files]
(add repo-url file)))
(fn [_]
(util/p-handle
(commit repo-url message)
(fn [_]
(push repo-url token)
(push-ok-handler))
push-error-handler))))
(defn add-commit
[repo-url file message commit-ok-handler commit-error-handler]
(util/p-handle

View File

@ -555,12 +555,14 @@
(set-state-kv! :latest-journals journals)))))
(defn request-presigned-url
[folder filename mime-type]
[file filename mime-type]
(prn {:filename filename
:mime-type mime-type})
(util/post (str config/api "presigned_url")
{:folder folder
:filename filename
{:filename filename
:mime-type mime-type}
(fn [resp]
;; TODO: upload url
(prn {:resp resp}))
(fn [_error]
;; (prn "Get token failed, error: " error)

View File

@ -78,26 +78,30 @@
;; ))
(defn upload
[files file-cb & {:keys [max-width max-height]
[files file-handler & {:keys [max-width max-height files-limit]
:or {max-width 1920
max-height 1080}}]
(doseq [file (array-seq files)]
max-height 1080
files-limit 1}}]
(doseq [file (take files-limit (array-seq files))]
(let [file-type (gobj/get file "type")
ymd (->> (vals (util/year-month-day-padded))
(string/join "_"))
file-name (str ymd "_" (gobj/get file "name"))]
(if (= 0 (.indexOf type "image/"))
(let [img (js/Image.)]
(set! (.-onload img)
(fn []
(get-orientation img
(fn [^js off-canvas]
(let [file-form-data ^js (js/FormData.)
data-url (.toDataURL off-canvas)
blob (blob/blob data-url)]
(.append file-form-data "file" blob)
(file-cb file file-form-data file-name file-type)))
max-width
max-height)))
(set! (.-src img)
(create-object-url file)))))))
(prn {:type file-type})
(when (= 0 (.indexOf file-type "image/"))
(file-handler file file-name file-type)
;; (let [img (js/Image.)]
;; (set! (.-onload img)
;; (fn []
;; (get-orientation img
;; (fn [^js off-canvas]
;; (let [file-form-data ^js (js/FormData.)
;; data-url (.toDataURL off-canvas)
;; blob (blob/blob data-url)]
;; (.append file-form-data "file" blob)
;; (file-cb file file-form-data file-name file-type)))
;; max-width
;; max-height)))
;; (set! (.-src img)
;; (create-object-url file)))
))))