Question

Enfin trouvé comment y parvenir!

est avéré que c'est aussi simple que le paramètre permettant d'en-tête xsendfile et réglage Accept-Range

Lire ma réponse ci-dessous

(par ailleurs, dans le bloc de citation ci-dessous j'ai écrit un newbies pitfall commun - comme je l'ai fait -. Nous avons tendance à fait penser qu'il devrait être programmé manuellement)

  doit être quelque chose comme

URL:   mysite.com/get_file?file_point=100 ->   cela lecture de l'octet 100

     
      
  1. Obtenir le décalage par rapport paramètre (paramètre file_point dans notre exemple)
  2.   
  3. En savoir la taille du fichier (File.size)
  4.   
  5. lire le fichier de décalage de longueur (équivalent de fseek en PHP)
  6.   
  7. Envoyer le fichier à l'aide send_file
  8.   
     

Je ne sais pas comment faire l'étape 3 en Ruby   dans les étapes ci-dessus.

Était-ce utile?

La solution

Ce fut ainsi que je l'ai fait:

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

J'ai demandé notre type de serveur pour configurer mod_xsendfile, je ne sais pas comment il régler moi-même.

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

Lisez à propos de longueur de contenu ici: http: // www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13

A propos de streaming est disponible ici: http://api.rubyonrails.org/classes /ActionController/Streaming.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top