Script upload imagesen ajax ??

chevalier_25 -  
avion-f16 Messages postés 19255 Date d'inscription   Statut Contributeur Dernière intervention   -
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
 
quelqu'un pour m'aider svp
0
jeangilles Messages postés 816 Date d'inscription   Statut Membre Dernière intervention   186
 
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
 
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   Statut Membre Dernière intervention   186
 
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
 
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
 
ya quelqu'un qui connait une solution pour ca ???????
0
chevalier_25
 
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
fred
 
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 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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
 
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 19255 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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