Bonjour,
On 2012-03-05 08:50:46 +0100, Guillaume Betous wrote:
> Je fais une appli où, pour simplifier, on peut déposer des fichiers de
> musique, puis ensuite les écouter via jPlayer (mode audio playlist).
> Je précise (c'est important je crois), que la redescente du fichier joint
> est faite via le controlleur.
Il faudrait le code du contrôleur concerné.
> Le problème :
> ça ne marche pas sous Firefox, alors que sous Chromium par exemple ça
> marche (en HTML5 je précise). je vois bien ma liste de fichiers disponibles
> dans le player, mais si je clique,rien ne se passe, la lecture ne démarre
> pas.
Ce n'est pas clair, il faudrait un exemple de contenu HTML dans ce
cas (en particulier le bout d'<audio></audio> concerné, et surtout la
valeur de l'attribut src="").
> Début d'analyse :
> je soupçonne fortement une histoire de MimeType. En effet, si je regarde ma
> base de données, j'ai bien le champ "content_type" qui est rempli (par
> exemple video/ogg pour un fichier ogg), et qui est censé être passé lors du
Il faudrait commencer par vérifier ce point. Vérifier la réponse
HTTP complète (en particulier l'en-tête Content-Type:) avec les outils
de debug firefox, firebug, un proxy ou tcpdump.
> téléchargement (je fournit l'option mime type lors du téléchargement).
C'est à dire ?
> Or si je copie/colle l'adresse du fichier (celle qui est utilisé par
> jPlayer) dans Firefox, j'obtiens bien un fichier, mais qui est noté "BIN",
> et pas video/ogg.
Il nous faudrait indiquer les en-têtes complets de la réponse HTTP.
> Alors je suis un peu perdu dans les types MIME, par exemple je ne sais pas
> trop qui régle ça : est-ce l'OS du serveur ? l'OS du client ? l'appli
> serveur (mon appli Rails quoi) ? l'appli cliente (le browser) ? un peu tout
> le monde en fonction de quelles priorités ?
Dans ce cas de figure l'OS n'intervient pas.
L'en-tête Content-Type: doit avoir la valeur adéquate pour chaque
réponse. À charge pour ton application ou ton serveur de positionner
cette valeur comme il se doit.
Tu ne nous dit pas comment ton application rails sert le fichier, si
c'est elle qui alimente le corps de la réponse ou si cela est délégué
au front HTTP (à la X-Sendfile: par exemple).
Bref il faudrait savoir comment tu as implémenté ça car il y a pas
mal de manière de le faire. En voici une parmi d'autres :
class SoundsController < ApplicationController
def show
sound = Sound.find params[:id]
send_file sound.path, :type => sound.mime_type
end
end
--
Thibault Jouan
http://a13.fr/
+33 6 28 25 39 00 (UTC+1)
--
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse
[email protected]