cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
21 mai 2008 à 09:51
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014
-
21 mai 2008 à 11:51
Bonjour à tous.
Je cherche (désespérement) si il est possible d'envoyer des fichiers sélectionnés dans un
XtremDuke
Messages postés626Date d'inscriptionsamedi 28 septembre 2002StatutMembreDernière intervention18 mai 20094 21 mai 2008 à 11:00
Salut,
Il n'est à ce jour pas possible d'envoyer des fichiers par XMLHttpRequest. Je crois qu'il existe un hack pour y arriver mais comme tout hack, c'est à prendre avec des pincettes.
Diriges toi vers une méthode plus "classique".
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 21 mai 2008 à 09:56
Probleme... Je reposte
Je cherche (désespérement) si il est possible d'envoyer des fichiers sélectionnés dans un <input type='file'... avec XMLHttpRequest.
J'ai fais une fonction qui marche très bien lorsqu'il s'agit de n'envoyer que des champs <input type='text'... ou ce genre de trucs.
En revanche pour les fichiers ça passe pas.
Voici la fonction au cas ou :
function ajouter (frm) {
.....
act_cat ("actions", "msg", "&src=aj_cat&nom_cat=" + frm.cat_1.value + "&vign_cat=" + frm.cat_vign.value, true);
}
// "actions" est la page à laquelle on envoie le formulaire
//cat_vign est mon champs FILE
function act_cat (page, cible, val, recharge) {
var xhr;
if (window.XMLHttpRequest) xhr = new XMLHttpRequest ();
else if (window.ActiveXObject) xhr = new ActiveXObject ('Microsoft.XMLHTTP');
else {
alert ("Votre navigateur ne gère pas l'objet XMLHttpRequest.\n");
}
var page = 'pages/' + page + '.php';
xhr.open ('POST', page, true);
xhr.setRequestHeader ('Content-Type','application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4)
if (xhr.status == 200)
if (document.getElementById){
document.getElementById (cible).innerHTML = xhr.responseText;
if (recharge) act_cat ("ls_cat", "ls_cat", "", false);
}
}
xhr.send(val);
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 21 mai 2008 à 10:14
Bonjour,
si on utilise la méthode "normale" coté php,
il faut traiter $FILES ( move_uploaded_file($_FILES.... )
pas sûr que coté client on puisse "simuler" cela.
<form enctype="multipart/form-data"....
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 21 mai 2008 à 10:33
j'ai oublié de compléter :
perso, je ferais plutôt ça de manière classique ( formulaire et tout et tout )
quitte à envoyer la réponse du serveur dans une iframe ( cachée ? )
<hr /> Cordialement Bul [mon Site] [M'écrire]
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 21 mai 2008 à 10:35
Tout d'abord merci pour ta réponse
J'avais aussi pensé au contenu du fichier mais il s'agit d'images, ça risque d'être un peu lourd.
En fait le problème est le suivant :
La page action.php vers qui j'envoie le formulaire reçoit bien le contenu des champs Mais pas le fichier lui même. L'upload de fichiers via un formulaire se faisant par HTTP, je pensais que XMLHttpRequest incluerait le fichier dans la requête ou quelquechose comme ça (je sais pas vraiment comment ça fonctionne).
Je suis pas sûr de comprendre ce que tu veux dire par méthode normale.
Tu penses que c'est du côté PHP qu'il faut changer quelque chose?
cs_ov3rdoze
Messages postés414Date d'inscriptionlundi 19 juillet 2004StatutMembreDernière intervention23 septembre 2014 21 mai 2008 à 10:45
OK
En fait c'est ce que j'avais fait temporairement, histoire que ça fonctionne. Je cherchais si c'était possible avec AJAX pour rendre les choses un peu plus sympathiques (et aussi un peu par défi).