rails media file stream akzeptiert eine Bytebereichsanforderung über die Methode send_data oder send_file

8

Ich habe das folgende Problem. Sounds werden aus dem öffentlichen Ordner ausgeblendet, da nur bestimmte Benutzer Zugriff auf die Sounddateien haben. Also habe ich eine bestimmte Methode erstellt, die wie eine Sound-URL funktioniert, aber zuerst berechnet, ob der aktuelle Benutzer auf diese Datei zugreifen darf.

Die Datei wird mit der Methode send_data gesendet. Das Problem ist nur, dass ich ziemlich langsam arbeite, wenn es sogar funktioniert ... Der Entwickler des jplayer plugins, mit dem ich den Sound wiedergebe, hat mir gesagt, dass ich Byte Range Requests akzeptieren kann, damit es richtig funktioniert ...

Wie kann ich dies innerhalb eines Rails-Controllers tun, indem ich die Datei mit send_data oder send_file sende?

Danke, Markus

    
Markus 20.07.2011, 09:03
quelle

3 Antworten

8

Ich war in der Lage, mit send_file die Dateien mit Erfolg zu bedienen. Obwohl ich eine Hitch habe, führt die Suche nach einem früheren Teil des Liedes zu einer neuen Anfrage, die den Song von 0:00 statt vom wahren Ort aus der Suchleiste neu startet. Dies ist, was ich bisher für mich gearbeitet habe:

%Vor%     
Garrett 29.09.2011, 23:03
quelle
1

Hier ist meine Version. Ich benutze gem 'ogginfo-rb', um die Dauer zu berechnen, die benötigt wird, um ogg-Dateien korrekt zu bedienen. p.s. Ich habe immer drei Formate - wav, mp3, ogg.

%Vor%     
dRwg 16.10.2013 20:18
quelle
0

Eine weitere geänderte Version - Ich habe versucht, eine Zip-Datei als binären Inhalt herunterzuladen, und das hat bei mir funktioniert -

%Vor%     
FrailWords 28.04.2015 10:32
quelle