Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Upload file con XMLHttpRequest

    Salve a tutti, secondo voi non è proprio possibile fare UPLOAD con XMLHttpRequest?
    perchè ho fatto una prova:

    pagina1.php

    <script>

    function upload()
    {

    var file_upload = document.form1.file_upload.files;

    /*
    if(xmlhttp5.readyState == 1)
    {

    alert("Attendere!");

    } else
    */



    // code for IE7+, Firefox, Chrome, Opera, Safari
    if(window.XMLHttpRequest)
    {

    xmlhttp5 = new XMLHttpRequest();

    } else {

    // code for IE6, IE5
    xmlhttp5 = new ActiveXObject("Microsoft.XMLHTTP");

    }

    xmlhttp5.onreadystatechange = function()
    {

    if(xmlhttp5.readyState == 4 && xmlhttp5.status == 200)
    {

    alert(xmlhttp5.responseText);

    }

    }

    xmlhttp5.open("PUT", "upload.php?file_upload="+ file_upload, true);
    xmlhttp5.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    xmlhttp5.send();

    }

    </script>
    <form name="form1" id="form1" method="post" enctype="multipart/form-data">
    <input type="file" name="file_upload" id="file_upload" /><input type="button" value="Upload" onclick="upload();">
    </form>

    upload.php

    <?php

    copy($_FILES['file_upload']['tmp_name'], $_FILES['file_upload']['name']);


    echo"OK";

    ?>

    Non funziona e non carica..
    :-(

  2. #2
    Vedo che stai sviluppando il tuo applicativo :-)

    Comunque per molte delle tue domande, faresti prima a dare un occhio su Google forse e poi a passar di qui quando anche quello non fosse chiaro.

    Caricare un file in ajax è un argomento che trovi trattato su tantissime risorse web (sono sicuro trovi risultati anche in una ricerca del forum html it) http://www.google.com/search?q=ajax+caricare+file

    Io personalmente non ho mai provato a farlo in ajax
    http://www.ajaxf1.com/tutorial/ajax-...-tutorial.html

    Ad ogni modo la superglobale $_FILES credo proprio che presupponga un submit di una form con un suo enctype e non penso che accetti qualsiasi emulazione... (dico credo e non te lo dò per sicuro perchè è meglio non esser mai del tutto sicuri di nulla nella vita visto che non ho mai tentato un upload con ajax - mi creavo un iframe col DOM e uplodavo da lì caricandoci una pagina con una form)

  3. #3
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    L'argomento è stato già discusso qua:
    http://forum.html.it/forum/showthrea...readid=1468768


  4. #4
    Salve, ho fatto la pratica e non funziona..
    Mi dite perchè?

    Ecco il codice.

    <script>

    function inserisci()
    {

    document.file_upload_form.onsubmit = function()
    {

    document.getElementById("file_upload_form").target = 'upload_target';
    document.getElementById("file_upload_form").submit ();

    }

    }



    </script>
    <form id="file_upload_form" name="file_upload_form" method="post" enctype="multipart/form-data">
    <input name="datafile" id="datafile" size="27" type="file" />

    <input type="button" name="action" value="Upload" onClick="inserisci();" />

    <iframe id="upload_target" name="upload_target" src="ipload.php" style="width:0;height:0;border:0px solid #fff;"></iframe>
    </form>

    INOLTRE HO PROVATO ANCHE COSI'

    <script>

    function inserisci()
    {

    document.file_upload_form.onsubmit = function()
    {

    document.getElementById("file_upload_form").target = 'upload_target';
    document.getElementById("file_upload_form").action = 'ipload.php';
    document.getElementById("file_upload_form").submit ();

    }

    }



    </script>
    <form id="file_upload_form" name="file_upload_form" method="post" enctype="multipart/form-data">
    <input name="datafile" id="datafile" size="27" type="file" />

    <input type="button" name="action" value="Upload" onClick="inserisci();" />

    <iframe id="upload_target" name="upload_target" src="" style="width:0;height:0;border:0px solid #fff;"></iframe>
    </form>

    E non funziona neanche così...
    :-(

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    function inserisci()
    {
    document.getElementById("file_upload_form").target = 'upload_target';
    document.getElementById("file_upload_form").action = 'ipload.php';
    document.getElementById("file_upload_form").submit();
    }

  6. #6
    Ho provato!
    Niente, appare il codice sotto risulta errato

    document.getElementById("file_upload_form").action = 'ipload.php';

    :-(

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Ma come si fa a dare name="action" ad un pulsante?
    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

  8. #8
    Hai ragione...che stupido e non mi sono accorto...
    Grazie e funziona..

    Però una domanda

    sull HTML

    <script>

    function inserisci()
    {

    document.getElementById("file_upload_form").target = 'upload_target';
    document.getElementById("file_upload_form").action = 'ipload.php';
    document.getElementById("file_upload_form").submit ();

    }

    function upload()
    {

    alert("Uploadato");

    }



    </script>
    <form id="file_upload_form" name="file_upload_form" method="post" enctype="multipart/form-data">
    <input name="datafile" id="datafile" size="27" type="file" />

    <input type="button" name="action" value="Upload" onClick="inserisci();" />

    <iframe id="upload_target" name="upload_target" style="width:0;height:0;border:0px solid #fff;"></iframe>
    </form>

    Cliccando Inserisci, quando sul codice PHP risponde che è stato uploadato, come faccio a richiamarlo upload()? Perchè il codice upload() non sta dentro iframe ma al di fuori.

    Il codice PHP che ho creato è

    if(copy($_FILES['datafile']['tmp_name'], $_FILES['datafile']['name']))
    {

    echo 1;

    }

    HO messo alerto così, calcola che dentro upload() ho messo codice ajax che permette di leggere un'altro file php

  9. #9
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    parent.upload() o top.upload(); dipende dalla gerarchia della pagine per richiamare una funzione nel documento padre/principale.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  10. #10
    Funziona da paura con top.upload();

    Sei un genio e grande

    Grazie mille
    Cristiano

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.