|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
Bonjour, j'ai un petit soucis en téléchargeant un son via un webservice, celui ci me retourne une chaine de caractère encodé en Base64, je n'arrive pas à obtenir mon fichier mp3.
Pouvez vous m'apporter un peu d'explication la dessus, merci par avance
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : septembre 2005 Messages : 1 741 ![]() |
|
|
|
00
|
|
|
#3 | ||
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
j'ai rien compris a ton truc, par contre, j'ai fait un truc comme ça mais ça ne marche pas :
Code :
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
||
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 714 ![]() |
Salut,
Regarde la fonction base64_decode
__________________
K |
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
Merci mais c'est la premiere chose que j'ai faite et qui me renvoie une chaine de caractère, je souhaite forcer le telechargement d'un fichier mp3 à un utilisateur.
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 714 ![]() |
Il faut alors mettre les headers HTTP qui vont bien.
__________________
K |
|
|
00
|
|
|
#7 |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
Tout bêtement, j'ai essayé ça :
Code :
print "Content-transfer-encoding: base64".base64_decode($result);
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 714 ![]() |
Il faut utiliser la fonction "header()" de PHP, pour préciser les headers.
Un header, dans le protocole HTTP, est un entête de description de contenu. Il est lu en premier par le navigateur, avant le contenu de la page lui même, et ceci afin de pouvoir interpreter le contenu convenablement. Donc en précisant dans le header que tu as un contenu en base64, tu n'as même pas besoin de le décoder au préalable : c'est le navigateur qui s'en occupera. Il faut également préciser le header Content-Type, en fichier mp3. Cherche la liste des Content-Type disponible, et tu trouveras celui correspondant au fichier MP3.
__________________
K |
|
|
00
|
|
|
#9 | |||
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
j'ai tourné le truc dans tous les sens, voici ou je bloque
Code :
si je commente la ligne Code :
header("Content-Type: ctype=\"audio/mpeg\""); Citation:
Code :
header("Content-Transfer-Encoding: base64"); Ai je fais une erreur ?
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|||
|
|
00
|
|
|
#10 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 714 ![]() |
Pourquoi cette ligne ?
Code :
header("Content-Type: ctype=\"audio/mpeg\""); PS : je préfère les simples quotes quand il n'y a pas de variable php à interpreter dans la chaine
__________________
K |
|
|
00
|
|
|
#11 |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
la j'ai quicktime qui se lance mais qui n'arrive pas a lire le flux, je sais pas d'ou viens le problème, si j'encode ou décode, ça reste pareil.
Merci en tout cas pour l'aide que tu m'a déja fournie, j'ai pas mal evolué
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
00
|
|
|
#12 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Si tu veux forcer le navigateur à télécharger le fichier, il y a un header pour cela (force-download ou pas loin). Attention, il me semble qu'Internet Explorer le gère mal.
Si je reprends l'intérêt de ton script, il télécharge un mp3 d'un autre site, le décode (car le fichier de départ est encodé en base64) et l'envoie au navigateur. J'ai bon ? Si c'est bien cela, alors il ne faut pas préciser le header base64, puisque ton script a décodé le fichier entre temps. Envoie simplement le header de content-type et celui de attached-file.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#13 |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
hello yogui;
si je met ou non Code :
header("Content-Transfer-Encoding: base64") Je ne veux pas spécialement forcer le téléchargement, j'aimerais déja que mon mp3 soit valide or, se n'est pas le cas. Pour résumé, j'ai un webservice qui me retourne un son codé en Base64, si j'affiche ce flux, j'ai une chaine bien pourrie, par contre si je met le header pour le mp3, cette chaine est ouverte avec quicktime mais il se fautre le pauvre. J'ai essayé de faire un rien n'y change.
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
00
|
|
|
#14 |
|
Expert Confirmé
![]() Inscription : octobre 2003 Messages : 2 714 ![]() |
As-tu le mp3 original ?
Si oui, met un force-download, télécharge le mp3 généré, et compare en hexadecimal les contenus; si ils sont identiques, c'est ton navigateur ( et quicktime en l'occurence ) qui est à la ramasse ! Normalement, quand tu fournis le bon type et le contenu du fichier, tout devrait bien se passer.. Question : comment sais-tu que ton fichier est en base64 ?
__________________
K |
|
|
00
|
|
|
#15 | ||||
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
J'ai encodé un mp3 (qui fonctionne) avec ce script :
Code :
Code :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
||||
|
|
00
|
|
|
#16 |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
Alrs, pour le mp3, je n'ai pas l'original, c'est un webservice qui m'envoie les messages d'un répondeur.
Pour la base64, c'est parce que c'est écrit dans la doc et que l'objet recu avec un var_dump j'ai ['base64'] = zfedoh54864fdg864sd3r54g3d5qgf... je regarde un peu tout ça, désolé, j'étais en réunion
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
00
|
|
|
#17 | |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
je vous joins la reponse brut de mon webservice
j'ai aussi trouvé ça dans la doc Citation:
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
|
00
|
|
|
#18 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Ya pas moyen que tu nous files directement les infos du webservice ? Je n'arrive à rien avec ton truc.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#19 |
![]() ![]() ![]() Inscription : février 2005 Messages : 2 798 ![]() |
euh non je ne peux pas, il n'est pas accessible en réseau.
__________________
Besoin d'un site internet ? Contactez Wixiweb Suivez Moi sur GOOGLE+ Mes articles - Chargée d'étude, aménagement et développement du territoire - Camp de basket - Passion Sans Frontiere - |
|
|
00
|
|
|
#20 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Mouahaha, la chaîne qu'ils te donnent (entre les deux guillemets) fait 25.659 caractères au lieu des 25.660 annoncés.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com