Script upload imagesen ajax ??

Fermé
chevalier_25 - 13 août 2009 à 17:23
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 17 août 2010 à 20:30
salut,
je suis entrains de créer un site internet en utilisons ajax,php,javascript..........
maintenant je suis bloqué je veut créer un script upload images avec ajax
problème 1 :lorsque je fait document.getElementById('avatar').value sous IE il me donne le chemin complet du fichier mais avec firfox,opera.. j'ai seulement le nom('image.gif')
problème 2 : même si je récupère le chemin complet du fichier comment le manipuler pour uploader le fichier

xhr.open('POST','upload.php',true);
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.send('Avatar='+avatar);
aprés ca je n'est aucune idée sur le fichier upload.php

merci de m'aider je suis completemnt bloqué
A voir également:

11 réponses

chevalier_25
13 août 2009 à 21:58
quelqu'un pour m'aider svp
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
13 août 2009 à 22:02
Otes moi d'un doute, c'est bien un input file ton 'avatar' ?
parce que Ajax, il est impossible d'envoyer des input file, c'est juste des chaînes de caractère.

L'upload d'image en ajax est impossible, si tu veux un faire un upload sans rafraichissement de la page, ya pas 36 solutions :
1 - Passer par un composant flash, une applet java ou quelquechose dans le genre
2 - Passez par un Iframe (je le déconseille, mais bon c'est le plus simple à mettre en place ^^)
0
chevalier_25
13 août 2009 à 22:08
merci pour ta réponse jeangilles mais est que tu meut donner des idée sur la premier solution (Passer par un composant flash) pars que je suis presque null en flash
est que ça nécessite beaucoup de connaissance en flash ????
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
13 août 2009 à 22:12
Ben t'as déjà des gens qui se sont amusés à en faire, t'as donc pas forcément besoin de beaucoup de connaissances (même pas du tout en fait si tu veux pas le développer toi même ... XD)

t'as par exemple fancyupload (qui te permet de l'upload simple ou multiple, ce dernier étant d'ailleurs très pratique ^^ : http://digitarald.de/project/fancyupload/
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
chevalier_25
13 août 2009 à 22:17
ok je vais voir ca ,
ma dernier question c'est probleme1 que j'ai posé au debut :

problème 1 :lorsque je fait document.getElementById('avatar').value sous IE il me donne le chemin complet du fichier mais avec firfox,opera.. j'ai seulement le nom('image.gif')
0
chevalier_25
14 août 2009 à 18:26
ya quelqu'un qui connait une solution pour ca ???????
0
chevalier_25
16 août 2009 à 15:57
problème 1 :lorsque je fait document.getElementById('avatar').value sous IE il me donne le chemin complet du fichier mais avec firfox,opera.. j'ai seulement le nom('image.gif')
0
je remonte le fil pour savoir si tu as trouvé la solution, j'ai besoin du chemin complet sou opera pour faire des tests de poids de fichiers avant l'upload et visiblement opera est trop sécuritaire la dessus !!!
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
17 août 2010 à 18:49
Salut.
Je n'ai pas lu toute la discution.

Tu ne peux pas récupérer un fichier sur le disque dur avec Javascript, donc inutile de chercher à récupérer le chemin complet.

Ensuite, l'upload de fichier est possible via AJAX.
@jeangilles : Les requêtes HTTP ne sont que du texte ; Et pourtant, le navigateur inclus le fichier dedans (le serveur ne peut pas accèder au HDD du client).

https://openclassrooms.com/fr/courses/245710-ajax-et-lechange-de-donnees-en-javascript/245708-upload-via-lextension-apc-de-php
0
chevalier_25
17 août 2010 à 19:22
et bien ca revient a c que jeangilles a dit au début :

L'upload d'image en ajax est impossible, si tu veux un faire un upload sans rafraichissement de la page, ya pas 36 solutions :
1 - Passer par un composant flash, une applet java ou quelquechose dans le genre
2 - Passez par un Iframe (je le déconseille, mais bon c'est le plus simple à mettre en place ^^)

la solution poroposé par le siteduzero et de passer par un iframe
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
17 août 2010 à 20:30
Oui, je ne sais pas où j'avais la tête :s
Comment aurions-nous récupérer le contenu du fichier afin de le transmettre par AJAX en tant que chaine (puis enregistrer cette chaine dans un fichier avec PHP) ?
0