iis設置上傳文件大小
A. 如何解決IIS7上傳文件大小限制
IIS對上傳文件大小有限制,IIS7 默認文件上傳大小是30M,要李答突破這個限制需要做一下修改:
1.打開 %windir%\system32\inetsrv\config\applicationhost.config 找到: <requestFiltering>節點
這個節點默認沒有 <requestLimits maxAllowedContentLength="上傳大小的雀擾返值(單位:byte)" /> 元素,IIS 7和IIS 7.5上測試過 最大值只能是<requestLimits maxAllowedContentLength="4294967295" /> <4GB,
為這個節點新增如下事例元素:<requestLimits maxAllowedContentLength="2147483647" /> ,上傳的大小將改為2G
注意:%windir%\system32\inetsrv\config\applicationhost.config 文件一定不要用其他機器的文件替換,否則IIS將無法啟動 此文件記錄了,當前IIS中所有Site , App pool的信息,還有一些與機器相關的配置。
2.修改web.config
<system.web>
<httpRuntime executionTimeout="36000" maxRequestLength="2097151"/>
<!--maxRequestLength:上傳的大小,單位K ,executionTimeout:設置超時時間,單位:秒。(默認是90秒) -->
<頃飢/system.web>
3.web.config下如果有如下節點(此節點是為IIS 7設計的) ,則修改:
<requestLimits maxAllowedContentLength="2147483647" /> 單位與applicationhost.config中的<requestLimits maxAllowedContentLength="2147483647" />一致,它的最大值也只能為4294967295<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483647" />
</requestFiltering>
</security>
</system.webServer>
B. 伺服器維護中,怎樣破解IIS最大上傳值為200K的限制
一、windows2003默認最大隻能上載200K的限制
1. 關閉系統管理工具 >> 服務 >> IIS Admin Service 服務
2. 打開 C: \windows\system32\inesrv\metabase.xml
3. 修改 AspMaxRequestEntityAllowed="204800"的值為自己需要的, 默認為 204800,即為200K
4. 啟動 IIS Admin Service
二、win2008解決方法
默認情況下,IIS7的上傳限制為200K。當上傳文件小於30M時,可以通過如下方法設置:
打開IIS管理器雙擊 -「IIS」中的「ASP」-打開「配置」-展開「限制屬性」;修改「最大請求主體限制」,修改值為你像要的,默認值為200000(即不到200K)。
當文件大於30M是,繼續如下修改:
1、停止IIS7
2、找到「C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml」文件。
3、文件是只讀的,要先去掉只讀屬性,修改後再重新修改為只讀。
4. 查找 <attribute name="maxAllowedContentLength"type="uint" defaultValue="30000000" />
3000000默認為30MB(不完全等於) 。加一個0 就是 300MB 。根據需要自己進行修改(1M=1024kB)。
5. 重啟iis
C. 更改iis上傳文件的默認大小
如果是ASP或.net的
第一步:修改IIS設置,允許直接編輯配置資料庫。先打開,Internet信息服務
第二步:先在服務里關閉iis admin service服務,找到windows\system32\inetsrv\下的metabase.xml, 打開,找到ASPMaxRequestEntityAllowed 把他修改為需要的值,默認為204800,即200K,如把它修改為102400000(100M)。
然後重啟iis admin service服務。
辦法二:
新建一個文本文件,內容如下:
set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")
set vdirObj=providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")
WScript.Echo "Before: " & vdirObj.AspMaxRequestEntityAllowed
vdirObj.AspMaxRequestEntityAllowed=102400000
vdirObj.Put_()
WScript.Echo "Now: " & vdirObj.AspMaxRequestEntityAllowed
然後保存為.vbs文件,如:vf.vbs
然後在命令行模式下,執行 cscript 文件路徑及文件名,如:cscript d:\vf.vbs
這樣ASP上傳大小就更改為了上面設置的:102400000位元組 (100兆)
關於win2003上傳限制解決方案的補充說明
到微軟站點載了IIS6 Resource Kit Tools(http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&displaylang=en),安裝後利用Metabase Explorer修改了(local)\LM\W3SVC\AspMaxRequestEntityAllowed屬性(默認為200K=204800),修改為1G就是了;同時修改了AspScriptTimeout屬性調整下時限,就可以上傳大文件了。
此時發現AspMaxRequestEntityAllowed丟之,點右鍵添加new屬性為asp,設置自己需要的大小,然後確定即可~~~
如果是php的
打開php.ini,首先找到
file_uploads = on ;是否允許通過HTTP上傳文件的開關。默認為ON即是開
upload_tmp_dir ;文件上傳至伺服器上存儲臨時文件的地方,如果沒指定就會用系統默認的臨時文件夾
upload_max_filesize = 8m ;望文生意,即允許上傳文件大小的最大值。默認為2M
post_max_size = 8m ;指通過表單POST給PHP的所能接收的最大值,包括表單里的所有值。默認為8M
一般地,設置好上述四個參數後,上傳<=8M的文件是不成問題,在網路正常的情況下。
但如果要上傳>8M的大體積文件,只設置上述四項還一定能行的通。
更多請關注:
http://www.chenyu.me/read-htm-tid-6320-fpage-2.html
D. IIS上傳大於4MB文件失敗的解決方法
1,首先進入【控制面板】點擊【管理工具】,打開IIS
2,點擊所部署的網站,在右邊找到【配置編譯器激改】,雙擊打開(需要修改的逗首位置有兩處)
3,明指判找到【system.webServer/security/requestFiltering】頁面,如圖所示開始修改,改好後點擊【應用】保存
4,找到【system.web/httpRuntime】頁面,如圖所示開始修改,改好後點擊【應用】保存
E. 景安VPS怎麼設置圖片上傳文件大小限值
ASP程序
方法一:修改該網站的的最大上傳文件的大小限制
在Windowsserver上會出現上傳大小受限制的問題,這是由於windowsserver的IIS管理器做了限制所致,IIS默認設置是最大隻能上傳200K的文件,修改IIS設置,以使上傳不受限制:
進入管理工具->Internet信息服務(IIS)管理器,
找到對應網站,打開該網站的功能頁面,
依次選擇選擇IIS->ASP->限制屬性->最大請求主體實體限制.
將其值修改為你需要的value,點擊」應用」保存即可.
默認是200000,單位位元組.
方法二:修改伺服器的的最大上傳文件的大小限制
首先停止Internet信息服務(IIS)的internet服務,
接著,在找到文件c:.xml,
用「記事本」打開該文件,用記事本中的「查找」功能,
搜索關鍵詞「AspMaxRequestEntityAllowed」,
搜索到結果,AspMaxRequestEntityAllowed="200000"
是win2008用於限制最大上傳文件大小的,默認是200000,
你可以根據您的具體情況,修改該值設置完該值,保存文件,重啟IIS服務即可。
注:其實除了修改最大請求主體實體限制,還需要修改」允許的最大內容長度(位元組)」,但是伺服器的默認值足夠,所以一般不需修改.具體情況視情況而定.
解決方案 ②
修改第一步中找到的php.ini
1、用記事本打開php.ini
搜索:memory_limit、post_max_size、upload_max_filesize、max_execution_time、max_input_time一般默認的設置值為:memory_limit=128M//相當於單個腳本可調用內存大小post_max_size=8M//上傳文件大小上限upload_max_filesize=2M//默認上傳文件大小,這個就是2M的限制!max_execution_time=30//最大執行時間,頁面等待時間max_input_time=60//最大輸入時間?具體意義不明確,就是上傳時間相關
然後將其改為自己需要的值。
2、啟iis服務
這個非常重要,不重啟的話,上面做的更改是不會生效的
重啟的方法,開始菜單,運行,輸入:iisreset,即可
若是採用PHP+Apache+MySql的話,需要重啟Apache服務。
F. asp在IIS里為什麼只能上傳小於200K的文件
這個是伺服器有個文件限制了。在程序里是提高不過200K以上的。
以下是怎麼提高上傳的大小限制。
2003解決IIS限制上傳、下載文件大小及metabase.xml修改
1.停止IIS Admin Service服務。 2.按照如下的路徑找到文件:系統盤(C:)Windows System32 inetsrv MetaBase.xml, 在該文件中搜索AspMaxRequestEntityAllowed,設置為你想要的數字(默認204800即200K)。 3.重新啟動IIS Admin Service服務。
默認情況下,在IIS 6 全局配置中允許上傳的文件長度最大為4 GB,但是在Web站點級卻限制了ASP應用程序上傳的最大文件長度為200 KB。如果你需要上傳超過200KB的文件,則需要手動修改IIS的metabase.xml中對應Web站點的AspMaxRequestEntityAllowed屬性。
metabase.xml位於"systemroot"\system32\inetsrv"目錄下,用於保存IIS的基本配置信息。默認情況下IIS是不允許你直接對metabase.xml進行編輯的,你可以通過以下兩種方式來實現:
1 停止IISAdmin服務後再編輯;
停止IIS服務與啟動IIS服務的方法,在CMD命令行模式下輸入以下命令:
1. net stop w3svc (停止IIS服務)
2. iisreset /stop
2 在IIS管理控制台中右擊伺服器名,選擇屬性,然後在彈出的伺服器屬性對話框中勾選允許直接編輯配置資料庫,再點擊確定即可
然後在任何文本編輯器中打開Metabase.xml文件,修改對應Web站點的AspMaxRequestEntityAllowed屬性即可,它的單位是位元組,默認是204800,改為你需要的值即可。比如改為最大上傳20M,則修改此值為:20480000.如果實在不知道20M換成位元組是多大,就用這個公式計算一下再修改吧:1024000*20(102400是100K,1024000是1M,以此類推,20M就是1024000*20=20480000)
3 編輯完記得重啟IIS服務
1. net start w3svc (啟動IIS服務)
2. iisreset /start
再加上下載不能超過4M的解決辦法:
在 IIS 6.0 中,無法下載超過4M的附件時,可以按以下步驟解決:
1、先在服務里關閉 iis admin service 服務。
2、找到 windows\system32\inesrv\ 下的 metabase.xml 文件。
3、用純文本方式打開,找到 AspBufferingLimit 把它修改為需要的值(可修改為20M即:20480000)。
4、存檔,然後重啟 iis admin service 服務。
MetaBase.xml是要求很嚴格的文件,,修改參數或格式一出錯就會無法使用,,修改前最好備份,,如果忘了備份,修改又出錯,, 還有補救方法:metabase.xml所在的目錄下還有個history目錄,裡面存放的是metabase.xml文件在各個時間的備份。至此,解決辦法也有了,就是從history目錄下拷貝一份到inetsrv目錄即可(但這樣只能修回備份時間前的資料)。如果目錄或文件沒有就要到別的機拷一份過來,但是這樣原先的配置就沒了。
G. 在IIS6.0中,默認設置最大隻能傳送 204,800 個位元組
在win2003的IIS 6.0中,默認設置特別嚴格和安全,最大隻能傳送 204,800 個位元組,這樣可以最大限度地減少因太寬松的超時和限制而造成的攻擊。IIS 6 出於安全考慮,默認最大請求是200K(也即最大提交數據限額為200KByte,204800Byte,在 IIS 6.0 之前的版本中無此限制) 。
解決辦法一:
第一步:修改IIS設置,允許直接編輯配置資料庫。打開 Internet信息服務管理器,在「本地計算機」上點右鍵選屬性,在Internet信息服務選項中選中「允許直接編輯配置資料庫」。第二步:在服務里關閉 iis admin service服務,找到windows\system32\inesrv\下的metabase.xml 打開,找到ASPMaxRequestEntityAllowed 修改為需要的值,默認為204800,即200K,如把它修改為52428800(50M)。第三步:重啟iis admin service服務。解決辦法二:新建一個文本文件,內容如下:'----------------------------------------------------set providerObj=GetObject("winmgmts:/root/MicrosoftIISv2")set vdirObj=providerObj.get("IIsWebVirtualDirSetting='W3SVC/1/ROOT'")WScript.Echo "Before: " & vdirObj..AspMaxRequestEntityAllowed=51200000vdirObj.Put_()WScript.Echo "Now: " & vdirObj.AspMaxRequestEntityAllowed'----------------------------------------------------然後保存為.vbs文件,如:vf.vbs
然後在命令行模式下,執行 cscript 文件路徑及文件名,如:cscript d:\vf.vbs這樣ASP上傳大小就更改為了上面設置的:51200000位元組 (50兆)。
H. iisftp限制文件夾大小
30M-2G左右。IIS默認傳輸文件大小為30M,最大允許傳輸為2G,這個是不受限制的,跟伺服器有關,微軟的FTP伺服器應該是可以的。