Come aumentare la dimensione massima del file di caricamento in ASP.NET?

Ho un modulo che esclude un caricamento di file in ASP.NET. Devo aumentare la dimensione massima del caricamento al di sopra del valore predefinito di 4 MB.

Ho trovato in alcuni posti riferimento al codice sottostante in msdn .

[ConfigurationPropertyAttribute("maxRequestLength", DefaultValue = )] 

Nessuno dei riferimenti in realtà descrive come usarlo, e ho provato diverse cose senza successo. Voglio solo modificare questo attributo per alcune pagine che richiedono il caricamento di file.

È questa la strada giusta da percorrere? E come lo uso?

Questa impostazione va nel tuo file web.config. Colpisce l’intera applicazione, anche se … Non penso che tu possa impostarla per pagina.

      

“xxx” è in KB. Il valore predefinito è 4096 (= 4 MB).

Per IIS 7+, oltre all’aggiunta dell’impostazione httpRuntime maxRequestLength, è inoltre necessario aggiungere:

          

O in IIS (7):

  • Seleziona il sito Web che desideri abilitare per accettare caricamenti di file di grandi dimensioni.
  • Nella finestra principale fai doppio clic su “Richiedi filtro”
  • Seleziona “Modifica impostazioni funzione”
  • Modifica la “Lunghezza massima consentita del contenuto (byte)”

Per aumentare il limite di dimensioni del file di caricamento abbiamo due modi

1. IIS6 o inferiore

Per impostazione predefinita, in ASP.Net la dimensione massima di un file da caricare sul server è di circa 4 MB . Questo valore può essere aumentato modificando l’attributo maxRequestLength in web.config .

Ricorda: maxRequestLenght è in KB

Esempio : se si desidera limitare i caricamenti a 15 MB, impostare maxRequestLength su “15360” (15 x 1024).

     

2. IIS7 o versione successiva

Un modo leggermente diverso usato qui per caricare i file. IIS7 ha introdotto il modulo di filtro delle richieste. Eseguito prima di ASP.Net. Significa che il modo in cui la pipeline funziona è che il valore di IIS ( maxAllowedContentLength ) controllato prima viene controllato il valore di ASP.NET ( maxRequestLength ). L’attributo maxAllowedContentLength assume come valore predefinito 28,61 MB . Questo valore può essere aumentato modificando entrambi gli attributi nello stesso web.config .

Ricorda: maxAllowedContentLength è in byte

Esempio : se si desidera limitare i caricamenti a 15 MB, impostare maxRequestLength su “15360” e maxAllowedContentLength su “15728640” (15 x 1024 x 1024).

             

Link di riferimento MSDN : https://msdn.microsoft.com/en-us/library/e1f13641(VS.80).aspx

Credo che questa linea nel web.config imposterà la dimensione massima di upload:

    

per un limite massimo di 2 GB, sulla tua applicazione web.config:

            

Se la sua Windows 2003 / IIS 6.0 controlla AspMaxRequestEntityAllowed = “204800” nel file metabase.xml che si trova nella cartella C: \ windows \ system32 \ inetsrv \

Il valore predefinito di “204800” (~ 205 Kb) è a mio avviso troppo basso per la maggior parte degli utenti. Basta cambiare il valore in quello che pensi dovrebbe essere max.

Se non si riesce a salvare il file dopo averlo modificato, è necessario arrestare il server ISS o abilitare il server per consentire la modifica del file:

alt text http://sofit.miximages.com/c%23/image_2.png

Modifica: non ho letto la domanda corretta (come impostare il maxrequest in webconfig). Ma questa informazione può essere di intralcio per altre persone, molte persone che spostano i loro siti da win2000-server a win2003 e hanno una funzione di caricamento funzionante e all’improvviso ha ricevuto l’errore Request.BinaryRead Failed . Quindi lascio la risposta qui.

Ho lo stesso problema in un server IIS 2008 win, ho risolto il problema aggiungendo questa configurazione nel web.config:

    

La requestLengthDiskThreshold per impostazione predefinita è 80000 byte, quindi è troppo piccola per la mia applicazione. requestLengthDiskThreshold è misurato in byte e maxRequestLength è express in Kbyte.

Il problema è presente se l’applicazione utilizza un componente server System.Web.UI.HtmlControls.HtmlInputFile . L’aumento della requestLengthDiskThreshold è necessario per risolverlo.

Se si utilizza Framework 4.6

  

È ansible scrivere quel blocco di codice nel file web.config dell’applicazione.

   

Scrivendo quel codice puoi caricare un file più grande di adesso

So che è una vecchia domanda.

Quindi questo è quello che devi fare:

Nel tuo file web.config, aggiungi questo in:

    

e questo sotto

       

Nel commento vedi come funziona. In uno devi avere la sie in byte e nell’altra in kilobyte. Spero possa aiutare.

Se si utilizza sharepoint, è necessario configurare la dimensione massima anche con gli strumenti di amministrazione: kb925083

Ho un post sul blog su come aumentare le dimensioni del file per il controllo di caricamento asp .

Dal post:

Per impostazione predefinita, il controllo FileUpload consente di caricare un massimo di 4 MB di file e il timeout di esecuzione è di 110 secondi. Queste proprietà possono essere modificate dalla sezione httpRuntime del file web.config. La proprietà maxRequestLength determina la dimensione massima del file che può essere caricata. La proprietà executionTimeout determina il tempo massimo di esecuzione.

Se funziona nel computer locale e non funziona dopo la distribuzione in IIS (ho utilizzato Windows Server 2008 R2) ho una soluzione.

Apri IIS (inetmgr) Vai al tuo sito web Sul lato destro vai a Contenuto (Filtro richieste) Vai a Modifica Impostazioni funzionalità Modifica dimensione massima del contenuto come (byte richiesti) Funzionerà. Puoi anche ottenere aiuto dal seguente thread http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits