begin process at 2012 05 29 01:47:19
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Autre

 > 

Ajax => Upload file


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ajax => Upload file

mercredi 13 juillet 2011 à 21:35:58 | Ajax => Upload file

Bobshit75

Bonjour à tous,

Voila je suis entrain de concevoir un formulaire pour upload des fichiers sur un serveur via de l'ajax natif.

Voici mon code :

Code HTML :
<label for="file_create_photo">Photo à upload :</label>
<input id="file_create_photo" name="file_create_photo" type="file" />
<input type="submit" value="Mettre en ligne la photo" onclick="create_photo();">
<div id="loading_create_photo"><span id="label_create_photo"></span></div>


Voici la fonction create_photo() en javascript ainsi que une partie de ma fonction Ajax pour l'envoie de donnée :

Code Javascript :
function create_photo(){
    if(document.getElementById("file_create_photo").value != ""){
        document.getElementById("submit_create_photo").display = "none";
        document.getElementById("loading_create_photo").display = "block";
        document.getElementById("label_create_photo").innerHTML = "Uploading in progress...";
        donnee.resetData();
        donnee.recupData('status', "creation");
        donnee.recupData('file_create_photo', document.getElementById("file_create_photo").value);
        donnee.sendAndLoad(base_url+'outils/gestion_photo.php', 'FILES', function(retour){
          alert(retour.responseText);
          document.getElementById("submit_create_photo").display = "none";
          document.getElementById("loading_create_photo").display = "block";
          document.getElementById("label_create_photo").innerHTML = "<font color='green'>Uploading done.</font>";
          setTimeout(function(){document.getElementById('create_photo').style.display = 'none';},1000);
        });
    } else {
        alert("Missing Datas to \"photo\".");
    }
}
// Les deux fonctions permettant de vider et créer les données d'envoi à la page php
// Permet de vider la pile des données
this.resetData = function() {
	datas = new String();
	datas = '';
};

// Permet d'enregistrer les données afin de les envoyer
this.recupData = function(pfield, pvalue) {
	datas += (datas.length == 0) ? pfield+ "=" + escape(pvalue) : "&" + pfield + "=" + escape(pvalue);
};


case "POST":
	try {
		conn.open("POST", Url);
		conn.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		conn.send(datas);
	}
	catch(error) {
		if (debug) { alert('Echec de connexion avec ' + Url + ' via la methode POST'); }
			return false;
		}
	break;
case "FILES":
	try {
		conn.open("POST", Url);
		conn.setRequestHeader("Content-Type", "multipart/form-data");
		conn.send(datas);
	}
	catch(error) {
		if (debug) { alert('Echec de connexion avec ' + Url + ' via la methode FILES'); }
			return false;
	}

A partir du case POST, c'est ma classe d'ajax, qui fonctionne parfaitement pour des formulaires que ce soit en GET et POST. Le case FILES, je viens de le rajouter pour avoir le multipart/form-data. Donc le problème s'il y en a vient du case FILES (en gros je ne désire pas modifier le case FILES ^^).

Voici le dernier bout de code très simple :

Code PHP :
<?php if(isset($_POST)){
    var_dump($_FILES);
    var_dump($_POST);
}?>


Donc quand j'envoie en méthode POST, mon $_FILES est vide et mon $_POST contient bien le nom du fichier à upload ainsi que son extention.
En revanche via la méthode FILES, les deux var_dump sont vides...

Auriez vous une idée s'il vous plait ?



Cette discussion est classée dans : code, document, photo, getelementbyid, create


Répondre à ce message

Sujets en rapport avec ce message

position d'un id [ par pqmoltonel ] bonjour, je cherche desespérément une fonction / propriétée qui permet de retourner la position d'un element html quelconque contenant un id:voila le Récuperer le Code Source d'une page web [ par LucChirac ] Je souhaite récupérer le code source de pages web. Ma méthode ne fonctionne qu'avec les pages locales :function GetHTML(){doc = document.getElementBy document.getElementById et IE7 [ par robinou ] Bonjour,J'utilise sans souci un AJAX qui me retourne bien un résultat HTML sur Firefox et IE7 également (vérifié avec alert()).Un div affiche le résul Ajout/suppression d'un champs de formulaire [ par maelob ] Bonjour tout est dans le titre, un bouton ajout qui ajout un input text et un bouton. et ce dernier bouton ajouter permet d'enlever l'input crée ainsi code js qui ne marche pas (DOM, ajout d'évènement) [ par nicomilville ] Salut tout le monde,J'ai ces quelques lignes de code qui ne marchent pas !!!document.getElementById('button1').addEventListener('click', reciproque('d Scroll javascript [ par Azraka ] Bonjour, j'ai fait un petit bout de code javascript pour faire un scroll horizontal, ce code marche très bien sous firefox mais pose problème sous IE. unterminated string literal [ par kangun ] Bonjour. je me tourne vers vous suite à un problème apparut sur un java script. en effet, je souhaite afficher une bulle au dessus d'une image et chan Faire un clavier virtuel [ par davland7 ] Bonjour je fais un clavier virtuel pour un écran touch screen Bon pour les touche A, S, D etc. j'utilise ma fonction que je suis fait [code=js] fu Javascript + html et php [ par j3r3m067 ] Bonjour à tous, Voilà je dois accélérer la vitesse de chargement d'une page php qui liste dans un repertoire, et qui me retourne un tableau. Ce que je Pb évènement onClick avec Firefox [ par Bugger24 ] Bonjour à tous, Voila, j'ai un petit souci. J'ai une page web contenant trois boutons radio et deux zone de saisie. En fonction du bouton radio sélec


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales