Visualizzazione risultati 1 fino 5 di 5

Discussione: [js] form per upload con controllo (era "potrebbe funzionare?")

  1. #1
    Guest

    Predefinito [js] form per upload con controllo (era "potrebbe funzionare?")

    questo potrebbe funzionare per fare un upload sul server???
    <html>
    <HEAD>

    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    extArray = new Array(".gif", ".jpg", ".png");
    function LimitAttach(form, file)
    {
    allowSubmit = false;
    if (!file)
    return;
    while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);
    ext = file.slice(file.indexOf(".")).toLowerCase();
    for (var i = 0; i < extArray.length; i++)
    {
    if (extArray[i] == ext)
    {
    allowSubmit = true;
    break;//exit to the for
    }
    }
    if (allowSubmit)
    form.submit();
    else
    alert("Please only upload files that end in types: " + (extArray.join(" ")) + "\nPlease select a new " + "file to upload and submit again.");
    }
    // End -->
    </script>
    </HEAD>
    <BODY>

    <center>
    Please upload only images that end in:
    <script>
    document.write(extArray.join(" "));
    </script>
    <p>

    <form method=post name=upform action="/cgi-bin/some-script.cgi" enctype="multipart/form-data">
    <input type=file name=uploadfile>
    <p>
    <input type=button name="Submit" value="Submit" onclick="LimitAttach(this.form, this.form.uploadfile.value)">
    </form>
    </center>

    <p><center>
    Source</a></font>
    </center><p>
    </body>
    </html>

    Come potete vedere ho commentato il controllo di un'immaginein modo da poter provare con ogni file...
    Il fatto stà.... è possibile???
    fatemi sapere

  2. #2
    Guest

    Predefinito

    1° Titolo errato
    2° i CGI non sono supportati da AV (in caso volessi usare questo form altrove specificalo)
    3° sarebbe opportuno scrivere script di lunghezza media-lunga tra gli appositi tag [ script] [ /script] (senza spazi) che trovi in alto a destra quando scrivi un post.


    Ciao!

  3. #3
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da cadenico
    ...
    while (file.indexOf("\\") != -1)
    file = file.slice(file.indexOf("\\") + 1);
    ...
    Perché dannarsi a cercare l'ultima occorrenza del back-slash con un ciclo quando esiste il metodo lastIndexOf()?
    Altra cosa: così ti funzionerà perfettamente con Windows, ma con Linux che usa sempre gli slash anche sul disco fisso?
    Citazione Originalmente inviato da cadenico
    ...
    ext = file.slice(file.indexOf(".")).toLowerCase();
    ...
    Anche qui userei lastIndexOf(), visto che qualcuno un po' balordo può inviarti dei file chiamati gita.padova.jpg...

    Per il resto non dovresti avere problemi, sempre che qualcuno non ti impacchetti in bel virus, gli cambi l'estensione in .gif, .jpg o .png e lo script (PHP o CGI) al quale lo invii non sia in grado di intercettarlo...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  4. #4
    Guest

    Predefinito

    scusate per gli errorri del titolo e grazie per i consigli!!!

  5. #5
    Ospite Guest

    Predefinito

    aspetta, ti conviene eliminare form.submit() con return true; (e nelle altre parti aggiungi return false; ), dopo di che sposti la chiamata di LimitAttach() dall'onClick dell'input all'onSubmit del form, altrimenti non funziona con Mozilla.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •