Frage

Schließlich fand heraus, wie dies zu erreichen!

heraus, dass es eingeschaltet ist so einfach wie xsendfile Aktivierung und Einstellung Header-Parameter Accept-Bereich

Lesen Sie meine Antwort unten

(übrigens im Block Zitat unten Ich schrieb einen gemeinsamen pitfall Neulinge - wie habe ich -. Gemacht Wir neigen dazu, es zu denken, sollte manuell programmiert werden)

  

URL muss, wie etwas sein:   mysite.com/get_file?file_point=100 ->   dies wird von Byte 100

lesen      
      
  1. Nehmen Sie den Offset vom Parameter (file_point Parameter in unserem Beispiel)
  2.   
  3. Finden Sie heraus, Größe der Datei (File.size)
  4.   
  5. Lesen Sie die Datei von Offset Länge (Equivalent von fseek in PHP)
  6.   
  7. Senden Sie die Datei mit send_file
  8.   
     

Ich weiß nicht, wie der Schritt # 3 in Ruby zu tun   in den obigen Schritten.

War es hilfreich?

Lösung

Dies war, wie ich es tat:

response.header["Accept-Ranges"] = "bytes"
send_file product.pack.path, :type => product.pack_content_type, :x_sendfile=>true

ich unseren Server Typen mod_xsendfile einzurichten gefragt, ich weiß nicht, wie es selbst zu setzen.

Tutorial hier: http: / /www.devsource.com/c/a/Techniques/Resumable-File-Downloads-with-ASPNet/2/

Lesen Sie mehr über Content-Length hier: http: // www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13

Über Streaming finden Sie hier: http://api.rubyonrails.org/classes /ActionController/Streaming.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top