1. 程式人生 > >ASP.NET 上傳檔案最大值調整

ASP.NET 上傳檔案最大值調整

首先,最容易找到的是web.config下面配置:

    <!--maxRequestLength=50MB-->
    <httpRuntime targetFramework="4.5.2" maxRequestLength="51200"/>

這麼設定會將請求的尺寸從預設4MB(4096KB)提升到50MB(51200KB)。

但是,如果只是這麼設定的話,你會發現你的最大上傳尺寸會停止在28.6MB,更大的檔案上傳,將返回404.13,表示內容長度過大。

原因在於IIS的預設設定,限定了maxAllowedContentLength的值。

<element 
name="requestLimits"><attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />

該值在IIS_Schema.xml中設定。(將影響整個計算機)

IISExpress:IISExpress執行路徑下,C:\Program Files (x86)\IIS Express\config\schema\IIS_schema.xml
IIS7、8:C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml

如果修改了這個值沒有生效,兩種可能,一種是當前執行的IISExpress/IIS沒有關閉/重啟。一種是web.config中有額外的配置(如下文所述)。

然而為了避免總是去修改全域性的值,影響到同一臺伺服器上的其他web站點,我們還可以在web.config中進行配置。

  <system.webServer>
    <!--
      IISExpress:C:\Users\UserName\Documents\IISExpress\config\applicationHost.config
      IIS7、8:C:\Windows\System32\inetsrv\config\applicationHost.config
      <section name="requestFiltering" overrideModeDefault="Allow" />
      overrideModeDefault值設定成Allow的時候,本配置節才會生效。
      
      也可以在IIS_Schema.xml中設定。(將影響整個計算機)
      IISExpress:IISExpress執行路徑下,C:\Program Files (x86)\IIS Express\config\schema\IIS_schema.xml
      IIS7、8:C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml
      修改defaultValue="30000000"(28.6MB)為需要的值。
      <element name="requestLimits"><attribute name="maxAllowedContentLength" type="uint" defaultValue="30000000" />
    
--> <security> <requestFiltering> <!--maxAllowedContentLength=100MB--> <requestLimits maxAllowedContentLength="104857600"></requestLimits> </requestFiltering> </security>

為了使該內容生效,需要配置“允許繼承”,在applicationHost.config中搜索<section name="requestFiltering" overrideModeDefault="Allow" />中的關鍵字,確保這個值為Allow即可。

IISExpress:C:\Users\UserName\Documents\IISExpress\config\applicationHost.config
IIS7、8:C:\Windows\System32\inetsrv\config\applicationHost.config

參考資料:

http://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

http://www.cnblogs.com/henryhappier/archive/2010/09/20/1832098.html

https://msdn.microsoft.com/en-us/library/ms689462(v=vs.90).aspx

相關推薦

ASP.NET 檔案調整

首先,最容易找到的是web.config下面配置: <!--maxRequestLength=50MB--> <httpRuntime targetFramework="4.5.2" maxRequestLength="51200"/> 這麼設定會將請求的

ASP.NET——檔案超過了請求長度

IIS預設最大的URL長度為:4kb;當我們上傳附件時,URL請求被IIS過濾,發現大於4M就拒絕請求,所以導致我們大於4kb無法上傳並丟擲錯誤。 解決方法一:在IIS裡面,開啟我們站點——請求篩選

ASP.NET檔案到遠端伺服器(HttpWebRequest)

/// <summary> /// 檔案上傳至遠端伺服器 /// </summary> /// <param name="url">遠端服務地址</param> /// <param name="pos

設定webconfig解決ASP.NET檔案大小限制

使用webconfig的設定解決大小限制 對於asp.net,預設只允許上傳4M檔案,增加如下配置,一般可以自定義最大檔案大小. <httpRuntime executionTimeout="800" maxRequestLength="40960" useFul

Mysql 解決 phpMyAdmin 檔案 限制

大檔案匯入mysql一直以來都是個問題,如果你懂程式的,可以直接把sql放到伺服器上,執行下source 命令匯入即可,這個部分後面我們會講,如果你使用的是phpmyadmin 那麼你可以像下面這樣做, 解決方案 開啟phpmyadmin下的配置

ASP.NET檔案404報錯

報錯資訊:  Failed to load resource: the server responded with a status of 404 (Not Found)   嘗試1: 僅修改Web.config中system.web的值 <system.web&

解決ASP.Net檔案超時或錯誤的問題

   .Net 裡上傳大檔案時,會遇到超時或HTTP500錯誤,解決的辦法有兩種:一種是修改配置,另一種就是用第三方控制元件。這裡介紹一下修改配置的。需要修改的是在 C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/CONFIG目錄裡,

asp.net 檔案解決方案

這次在專案中,用到了大檔案上傳,要上傳的檔案有100多m,於是研究現在國內使用的大檔案上傳的元件發現用的比較多的有兩個控制元件AspnetUpload 2.0和Lion.Web.UpLoadModule,另外還有思歸在它的部落格堂中所說的辦法 http://blog.joyc

設定檔案大小

1>iis7及以上版本 需要在配置檔案裡面設定檔案上傳限定的兩個屬性值:maxAllowedContentLength,maxRequestLength 允許上傳檔案的長度,和請求的長度,兩個大小需要設定一致,如果不一致,則以請求長度為準。 <system.webServer>

使用FineUploader 檔案設定IIS7檔案大小 maxAllowedContentLength,maxRequestLength

重點是是maxRequestLength和maxAllowedContentLength設定為一致的值。 當上傳一個超過30M的檔案時,伺服器會重定向至404.13頁面,報錯如下: HTTP Error 404.13 - Not Found The request

.NET 檔案

  var data = new FormData(); data.append("ImgUrl", file); $.ajax({ url: "",    //上傳圖片介面地址 type: "POST", data: data, async: false, cache: f

ASP net 整個資料夾

                HTML部分   <%@  Page  language="c#"  Codebehind="UpLoad.aspx.cs"  AutoEventWireup="false"  Inherits="WebPortal.Upload"  %>  <!DOCTYP

C# ASP.NET控制元件fileupload的使用

程式碼實現了簡單的圖片上傳功能(改一下也可以上傳其他的),沒有做圖片大小和格式的判斷,主要是熟悉fileupload控制元件 介面程式碼: <%@ Page Language="C#" Aut

超級吐血的鬱悶問題 asp.net 限制

最近做了個寶馬專案,碰到一個上傳檔案的大小問題,用的是ckedit和ckfinder上傳,這個編輯器確實功能強悍。 但是上傳檔案大小始終為4兆,不管怎麼除錯編輯器,都是這樣。後來原來是asp .net 本身的限制問題,吐血外加鬱悶。一天多時間全在除錯編輯器。 希望後來者警戒。 在<

ASP.NET時間超過4M失敗(超時)的解決方法

在web.config中的<system.web></system.web>內加入如下程式碼:<httpRuntime executionTimeout="600" ma

MySQL 檔案

方法:1.可以編輯windows下my.ini,在[mysqld]段或者mysql的server配置段進行修改(要重啟伺服器)max_allowed_packet = 20M2.mysql 命令列set global max_allowed_packet = 你想要的值                   

ASP.NET控制元件——FileUpload控制元件和File控制元件

FileUpload控制元件<?XML:NAMESPACE PREFIX = O /> FileUpload Control 應用程式中經常需要允許使用者把檔案上傳到web伺服器。儘管在ASP.NET 1.X也可以完成該功能,但在ASP.NET 2.0中使用Fil

asp.net圖片並能實現實時預覽

前臺aspx: <script type="text/javascript">         //下面用於圖片上傳預覽功能         function setImagePreview(avalue) {             document.getE

c# 模擬表單提交,post form 檔案資料內容

表單提交協議規定: 要先將 HTTP 要求的 Content-Type 設為 multipart/form-data,而且要設定一個 boundary 引數, 這個引數是由應用程式自行產生,它會用來識別每一份資料的邊界 (boundary), 用以產生多重資訊部份 (me

asp.net圖片,儲存檔名和路徑,並利用javascript顯示圖片預覽

<script type="text/javascript"> function show(id) { document.getElementById("Image1").src=id; } </script