Http 服务器上上载的视频大小为0,即使视频大小为
我有以下重新帧事件处理程序,我正试图使用这些处理程序将视频上载到服务器:Http 服务器上上载的视频大小为0,即使视频大小为,http,clojure,clojurescript,re-frame,Http,Clojure,Clojurescript,Re Frame,我有以下重新帧事件处理程序,我正试图使用这些处理程序将视频上载到服务器: (reg-event-fx :upload-shot-video-server (fn [coeffects [_ blob]] (let [body (js/FormData.)] (.append body "video" blob) {:http-xhrio {:method :post :uri (str "http:
(reg-event-fx
:upload-shot-video-server
(fn [coeffects [_ blob]]
(let [body (js/FormData.)]
(.append body "video" blob)
{:http-xhrio {:method :post
:uri (str "http://d18a6571c2e5.ngrok.io" "/api/upload-shot-video")
:body body
:on-success [:upload-success]
:on-failure [:upload-error]
:response-format (edn/edn-response-format)}}))
)
(reg-event-fx
:upload-shot-video
(fn [coeffects _]
(prn "uploading video")
(let [response (js/fetch (-> coeffects :db :shot-video-uri))]
(try
(go
(let [blob (<p! (. (<p! response) blob))]
(js/console.log "blob is " blob)
(js/console.log "size of blob is " (.-size blob))
(dispatch [:upload-shot-video-server blob])))
(catch js/Error e (js/console.log "Error is " e)))
{})))
但是,正在保存为文件的视频大小为0字节,即使视频块是非零大小的视频
如何修复此错误?可能是您的服务器拒绝了较大的文件大小?我使用的是
org.httpkit.server
,它会默默地拒绝post
,文件超过8MB。我是这样解决的:
(服务器/运行服务器应用程序{:端口您的端口号:max body 128000000});128MB
文件大小没有那么大。它不到8MB。
(defn upload-shot-video [req]
(prn "uploading video")
(prn "video is! " (-> req :params))
(prn "video is " (-> req :body))
(clojure.java.io/copy (-> req :body) (clojure.java.io/file "./resources/public/video.mov"))
(let [filename (str (rand-str 100) ".mov")]
(s3/put-object
:bucket-name "humboi-videos"
:key filename
:file "./resources/public/video.mov"
:access-control-list {:grant-permission ["AllUsers" "Read"]})
(db/add-video {:name (-> req :params :name)
:uri (str "https://humboi-videos.s3-us-west-1.amazonaws.com/" filename)}))
(r/response {:res "okay!"}))