Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http 服务器上上载的视频大小为0,即使视频大小为_Http_Clojure_Clojurescript_Re Frame - Fatal编程技术网

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!"}))