Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774

    upload di file tramite ajax

    salve gente
    ho bisogno di creare un form che invia dei file ad una pagina php utilizzando la tecnica ajax.
    per l'invio di campi di testo semplici o anche radio button ecc ho capito come fare...
    il problema è che non so come "infilare" il binario di un file tra i parametri da inviare via post alla pagina php...

    qualcuno ha qualche idea per incominciare?
    è davvero importante...
    mi ci sto scervellando ma non riesco a venirne accapo..
    proprio non so come fare

    grazie
    citrus

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Sinceramente non capisco questa smania di infilare ajax in ogni transazione web... in uesto caso poi il cuore del processo sta nella parte lato server essendo il compito lato client veramente marginale... e non mi risulta che si possa manipolare in binario un file con javascript

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    Originariamente inviato da br1
    Sinceramente non capisco questa smania di infilare ajax in ogni transazione web... in uesto caso poi il cuore del processo sta nella parte lato server essendo il compito lato client veramente marginale... e non mi risulta che si possa manipolare in binario un file con javascript

    ciao
    ciao...
    ti ringrazio per la risposta ma io cercavo una soluzione al mio problema.. non un commento sull'utilità o meno di ajax...
    lato server il programma è gia tutto scritto e funzionante...
    ma siccome ho impostato tutto il sito basandomi su ajax, compresi tutti i form, mi manca soltanto la questione dell'upload di file.
    se come dici il compito lato client è così marginale allora dovrebbe essere anche semplice, oltre che possibile..
    lo dimostra questo script:
    http://www.gizax.it/experiments/AHAH/uploader/

    purtroppo però non riesco a capire come invia il file al server...
    qualcuno ha qualche suggerimento?

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    ajax viene utilizzato in quel caso per caricare un iframe nascosto nella pagina
    http://www.gizax.it/experiments/AHAH/uploader/save.php

    per questo la pagina non si ricarica
    da lì puoi vedere come viene effettuato l'upload
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    Originariamente inviato da fcaldera
    ajax viene utilizzato in quel caso per caricare un iframe nascosto nella pagina
    http://www.gizax.it/experiments/AHAH/uploader/save.php

    per questo la pagina non si ricarica
    da lì puoi vedere come viene effettuato l'upload
    ciao
    lo avevo visto.. prima tramite una funzione javascript chiama la pagina hidden.php che contiene l'iframe dentro il quale c'è la pagina save.php...
    il problema è che non capisco ... a me sembra che la funzione upload() non faccia nulla riguardo il file...
    non riesco a trovare il punto in cui invia il file nei parametri

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da citrus
    ciao
    lo avevo visto.. prima tramite una funzione javascript chiama la pagina hidden.php che contiene l'iframe dentro il quale c'è la pagina save.php...
    il problema è che non capisco ... a me sembra che la funzione upload() non faccia nulla riguardo il file...
    non riesco a trovare il punto in cui invia il file nei parametri
    :master: scusa se mi intrometto, ma mi sembrava interessante, anche se non ho capito.
    Ossia, non ho capito cosa c'entri ajax con l'upload del file

    ossia, all'inizio, vi è una chiamata ajax per caricare nell'iframe questo:
    codice:
    <html><head>
    	<script language="javascript">
    	function upload(){
    
    		var doc = window.parent.document;
    		if (doc.getElementById('error')){
    			doc.getElementById('error').style.display = "none";
    		}
    		doc.getElementById('immagine').style.display = "block";
    		window.parent.document.getElementById('immagine').style.border = "none";
    		doc.getElementById('immagine').src = "loading.gif";
    
    		document.form.imgnum.value = 0;
    		document.form.submit();
    	}
    	</script>
    	<style>
    	* {
    		font: 16px, "Trebuchet MS", serif, verdana;
    		color: black;
    	}
    	form {
    			width: 500px;
    	}
    	</style></head><body><fieldset>
    	<legend>Demo AHAHImageUploader - Max 400Kb</legend>
    		<form name="form" action="" method="post" enctype="multipart/form-data">
    			<input id="file" name="image" onchange="upload()" type="file">
    			<input name="imgnum" type="hidden">
    		</form>
    	</fieldset></body></html>
    che guardando mi pare che faccia l'upload col metodo classico, ossia facendo un submit.

    Se non ho capito, spiegate. Ciao
    Pietro

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Originariamente inviato da pietro09
    ...
    che guardando mi pare che faccia l'upload col metodo classico, ossia facendo un submit.
    Se non ho capito, spiegate. Ciao
    Sì l'upload avviene tramite upload classico con un form... la pagina non viene ricaricata solo perchè il form si trova in un iframe. Ajax viene usato solo per chiamare il codice che include l'iframe e per visualizzare l'immagine una volta che questa è stata caricata dal server
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da fcaldera
    Sì l'upload avviene tramite upload classico con un form... la pagina non viene ricaricata solo perchè il form si trova in un iframe. Ajax viene usato solo per chiamare il codice che include l'iframe e per visualizzare l'immagine una volta che questa è stata caricata dal server
    bene, :master: ma allora vi è un'altra domanda:
    non è un metodo un poco contorto ??? :maLOL: (di meglio, in questo senso, ho visto solo in asp.net )

    Pietro

  9. #9
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    adesso ho capito!
    in pratica è solo un trucco!
    tra le altre cose viene fatta passare come un invenzione personale (un esperimento addirittura) e invece ho trovato in rete un articolo che spiega esattamente come realizzarla ed il codice è praticamente identico!
    guardate:
    http://www.sastgroup.com/tutorials/u...on-php-e-ajax#

    ecco svelato il mistero!
    adesso capisco perchè nessuno voleva chiarire come funziona!

  10. #10
    Utente di HTML.it L'avatar di citrus
    Registrato dal
    Feb 2002
    Messaggi
    774
    cmq sia il mio problema resta...
    io non ho voglia di utilizzare iframe e balle varie per implementare questa cosa e mi piacerebbe aggiungere questa funzionalità alla classe che sto usando.

    in qualche modo penso che il binario del file venga infilato nella stringa dei parametri da inviare al server tramite post... ma non so da che parte cominciare per gestire questa cosa.
    qualche suggerimento?
    grazie
    citrus

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.