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

    Dimensione file (lato client) per upload...

    Salve,
    vorrei sapere a priori le dimensioni di un file per permettere o negare il caricamento del medesimo sul server (upload).

    Dopo aver sbattuto un po' la testa di qua e di la alla ricerca del codice che potesse fare al caso mio, ho trovato questo script a questo URL:

    http://www.faqts.com/knowledge_base/...aid/1685/fid/1

    In pratica questo script userebbe l'ActiveX "Scripting.FileSystemObject" per estrarre la dimensione del file; ActiveX che l'utente fiducioso, per far funzionare tutto nel modo migliore, DOVREBBE acconsentire.

    Se l'utente non acconsente l'ActiveX, vorrei comunque che questa function mi restituisse una valore di ritorno fittizio che mi rappresenta la dimensione del file (per esempio -1)

    Quindi una volta ottenuto la dimensione del file (calcolata con l'ActiveX e quindi reale, oppure il famoso -1 che ho deciso prima se l'utente non mi permette di calcolarla) l'upload procederà se quest'ultima è minore di una dimensione costante prefissata (per esempio 1 Mbyte).

    Il codice è questo.

    Ho provato di tutto, ma non riesco a far restituire alla funzione il famoso -1.

    AIUTATEMI PER FAVORE

    codice:
    <HEAD>
    <SCRIPT>
    function getFileSize(fileName)
    {
        window.oldOnError = window.onerror;
        window.onerror = function (err) {
          if (err.indexOf('utomation') != -1)
          {
            alert('file access not possible');
            return true
          }
          else
            return false
        };
        var fso = new ActiveXObject('Scripting.FileSystemObject');
        var file = fso.GetFile(fileName);
        window.onerror = window.oldOnError;
        return file.Size;
    }
    </SCRIPT>
    </HEAD>
    <BODY>
    <FORM NAME="formName" METHOD="POST">
    <INPUT TYPE="file" NAME="fileName">
    
    
    <INPUT type="submit" value="Submit" onClick="alert(getFileSize(this.form.fileName.value))">
    </FORM>
    </FORM>
    </BODY>
    </HTML>

  2. #2
    personalemnte preferisco evitare l'uso di js per questo genere di operazioni e affidarmi ad uno script in php.

    Ho cercato e ho trovato uno script da freephp che (in italiano) sembra anche semplice da usare:

    http://freephp.html.it/programmatori...ipt.asp?id=384

    mentre per capire come funziona il ragionamento o se già conosci php e vuoi fartelo tu:
    http://it2.php.net/manual/it/function.filesize.php

    questa funzione ti servirà.


  3. #3
    Si OK, un controllo della dimensione del file l'avrei già realizzato in ASP, ma non è carino che l'utente aspetta magari alcuni minuti per un upload e poi una volta che il file è arrivato sul server si vede comparire un alert con scritto "Sorry, il file è troppo grande; riprova sarai più fortunato etc...".

    Io vorrei che l'utente si rendesse conto da subito (quindi lato client) che il file supera le dimensioni da me prefissate.

    Adesso lo script che ho incluso nel post precedente userebbe appunto un activeX per accedere al file-system del pc del navigatore sotto suo consenso.

    Il casino è che se l'utente non dà il suo consenso (è una sua libera decisione, in questo caso l'upload inizierà e dopo tot minuti vedrà apparire il messaggio mandato dal server) non so come far ritornare alla funzione un qualsione valore di ritorno (per esempio -1).

    Ho provato a modificare il codice in vari modi, ma niente da fare;

    PER FAVORE AIUTATEMI.

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.