Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente bannato
    Registrato dal
    Aug 2004
    Messaggi
    213

    Upload.....limiti di dimensione file?

    Ho un problema con l'upload.....funziona perfettamente (del resto con .net è una cavolata ) ma con file piccoli, mentre con file di qualche mega compare la tipica pagina di errore "Impossibile visualizzare la pagina" senza nessun messaggio più esplicativo...

    Cosa mi sfugge?

  2. #2
    Utente bannato
    Registrato dal
    Aug 2004
    Messaggi
    213
    Risolto, riporto qui nel caso servisse a qualcun altro:

    bisogna indicare nel web.config la dimensione massima dei file in upload:

    codice:
        <configuration>
            <system.web>
                <httpRuntime maxRequestLength="size in kbytes"/>
    
                ....

  3. #3
    ciao...
    ...ho trovato il tuo esempio molto utile...

    ma come faccio a capire quando un file è troppo grosso???
    ovvero, io nn voglio alzare il limite massimo...

    ma voglio che quando un file è troppo grosso mi viene comunicato in qualche modo,
    e naturalmente senza che il file venga inviato al server...

    immaginati un pirla che mi invia per sbaglio un file di 700MB,
    nn voglio aspettare che il file venga caricato per dargli errore,
    e nn voglio neanche che il browser mi schioppi su una pagina di errore..!!!!

    grazie.
    Let's your dream came true!

  4. #4
    Utente di HTML.it L'avatar di edaje
    Registrato dal
    Jul 2003
    Messaggi
    363
    Se usi la 2.0 puoi controllare la dimensione Max del file

    FileUpload f = new FileUpload();

    if(f.PostedFile.ContentLength>dimensioneMAX)
    {
    //Messaggio di errore
    }

  5. #5
    si grazie...questo lo sapevo...

    il problema è che se il file eccede dalle dimensioni stabilite allora nn mi torna su quella pagina ma mi va in bomba direttamente il browser...!!!!!

    esiste un modo per controllare l'errore???
    ad es. se eccede della misura massima non accoda il file durante l'invio "post" della pagina ma invia comunque la pagina con dimensione dell'allegato a zero o altro!

    grazie.
    Let's your dream came true!

  6. #6
    Utente di HTML.it L'avatar di edaje
    Registrato dal
    Jul 2003
    Messaggi
    363
    Se fai così dovrebbe funzionare

    FileUpload f = new FileUpload();

    if(f.PostedFile.ContentLength>dimensioneMAX)
    {
    //Messaggio di errore
    }
    else
    {
    f.SaveAs(percorso);

    }

  7. #7
    no nn funziona per il seguente motivo :
    quando tento di inviare un file innanzitutto il browser o chissò ottiene il limite massimo inviabile del file...

    se il file che intendo inviare eccede di già dal limite la pagina nn viene per niente caricata e vengo rimandato in una pagina di errore...

    prova ad impostare il limite massimo ad 1MB ad esempio ed inviare il file di 2MB o magari un file di 700MB...

    in teoria (se è come dici tu) il browser dovrebbe provare a caricare il file (e se è di 700MB ci dovrebbe mettere un botto!) per poi passare il controllo alla tua pagina segnalando l'errore...

    mentre invece il browser schioppa subito! proprio perchè l'allegato nn viene per niente inviato!

    aiutatemi!
    Let's your dream came true!

  8. #8
    Utente di HTML.it L'avatar di edaje
    Registrato dal
    Jul 2003
    Messaggi
    363
    Con questo codice faccio upload solo di file sotto i 15Mb

    Codice PHP:
    HttpPostedFile file uploadFile.PostedFile;
                        
    FileInfo f = new FileInfo(file.FileName);
                        if (
    file.ContentLength 15728640)
                        {
                            
    lblWarning.Text "Max. 15 Mb";
                        }
                        else
                        {
                            
    string sql "UPDATE [Documentazione] SET [Titolo]=" STR.SqlTXTStringhe(txtTitolo) + ", [file]='" GestioneStringhe.FixSQL(f.Name) + "', [link]='Documentazione/" GestioneStringhe.FixSQL(f.Name) + "', [manuale]=" rblTipo.SelectedValue ", [data]=getdate() WHERE [ID]=" ViewState["ID"].ToString() + "";
                            
    int ris DB.ExecuteQuery(sqlServer.MapPath("Documentazione/" f.Name), file);
                            if (
    ris 0)
                            {
                                
    Action(Azione.Browse);
                            }
                            else
                            {
                                
    lblWarning.Text "Problemi nel caricamento";
                            }
                        } 

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da edaje
    Con questo codice faccio upload solo di file sotto i 15Mb

    ***
    non penso che abbia ragione. Prova ad impostare new web.config il limite max di 1 (kb)

    fai l'upload e vedrai che non riesci ad intercettare l'errore... almeno, io non ci riesco

    se trovate la soluzione, non siate avari
    Pietro

  10. #10
    Utente di HTML.it L'avatar di edaje
    Registrato dal
    Jul 2003
    Messaggi
    363
    Il problema è la dimensione del file. Se questa eccede le dimensioni impostate nel web.config da errore indipendentemente dal controllo del codice. Sul web.config si deve impostare una dimensione maggiore di quella che si vuole controllare. Se l'utente prova a fare upload di un file più grande non ci si può fare nulla ed esce il messaggio di errore. E' un limite del protocollo HTTP. Se proprio non si può fare a meno allora l'FTP è più indicato

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.