Domanda

Finalmente ho trovato il modo di raggiungere questo!

Si è rivelato è semplice come abilitazione xsendfile e impostando il parametro Accept-Gamma

Leggi la mia risposta qui sotto

(a proposito, nella citazione blocco sotto ho scritto un comune neofiti trabocchetto - come ho fatto -. Fatto Tendiamo a pensare che dovrebbe essere programmato manualmente)

  

URL deve essere qualcosa del tipo:   mysite.com/get_file?file_point=100 ->   questo sarà letto dal byte 100

     
      
  1. Scarica l'offset da parametro (parametro file_point nel nostro esempio)
  2.   
  3. Scopri la dimensione del file (File.Size)
  4.   
  5. Leggere il file da offset per la lunghezza (equivalente di fseek in PHP)
  6.   
  7. Invia il file utilizzando send_file
  8.   
     

Non so come fare passo # 3 in Ruby   nei passaggi precedenti.

È stato utile?

Soluzione

Questo è stato come ho fatto:

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

Ho chiesto il nostro ragazzo server per configurare mod_xsendfile, non so come impostare io stesso.

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

Leggi su Content-Length qui: http: // www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13

A proposito di streaming è disponibile qui: http://api.rubyonrails.org/classes /ActionController/Streaming.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top