2012-09-09 21 views
3

我已經建立了一個簡單的環服務器文件服務器如何使用碼頭/環

 
(ns scratch.basic-test 
    (:use [ring.middleware.file :only [wrap-file]] 
     [ring.middleware.file-info :only [wrap-file-info]]) 
    (:require [ring.adapter.jetty :as jetty])) 

(defn naked-handler [request] 
    {:status 200 
    :headers {"Content-Type" "text/html"} 
    :body (str request}) 

(defonce server 
    (run-jetty (-> #'naked-handler 
       (wrap-file "resources/public") 
       wrap-file-info)    
      {:port 8890 :join? false})) 

我在resources/public目錄test.mp4video.html視頻文件起到了iPad。


video.html引用mp4文件:

...blah... 
    <video id="my_video_1" controls> 
    <source src="test.mp4" type='video/mp4'> 
    </video> 
    ...blah... 

當我在Safari中打開http://server-ip-address:8890/video.html,Firefox和IE正常工作

然而,當我打開它的ipad,它不會..黑色的不能玩矩形顯示,而不是。


當我把同樣的文件在Apache服務器和開拓video.html上的視頻播放完美地在iPad ....

是怎麼回事?

+0

你可以試試這一個:http://stackoverflow.com/questions/9415050/serving-mp4-video-to-ipad –

+0

我不知道如何做到這一點在碼頭 – zcaudate

回答

1

我會在這裏回覆,因爲評論部分對我來說過於緊張:)。

我想在改變任何事情之前,先看一下HTML標題。比較Apache給你的戒指。可能是該問題與here描述的問題有關,或者可能是其他問題。如果您不知道如何查看標題this可能會有所幫助。

至於修改標題,我認爲如果有什麼需要修改,它將在環級而不是Jetty。

我跑你的應用程序都在這裏頭:

Name Value 
Date Wed, 12 Sep 2012 05:26:20 GMT 
Content-Length 36320472 
Last-Modified Sat, 12 May 2012 21:04:47 +0000 
Server Jetty(7.6.1.v20120215) 
Content-Type video/mp4;charset=UTF-8 

它在Chrome發揮,對不起,我沒有一個iPad來檢查它。內容長度是正確的,它等於原始的mp4文件大小。

我猜,除非你從兩臺服務器上發佈標題,否則我無能爲力。

+0

謝謝。只是想知道......爲什麼標題會像這樣搞砸了? – zcaudate

+0

我張貼了來自Clojure服務器的頭文件。 –