我上传文件时,文件大了就不能上传,是否是maxRequestLength的设置问题,在哪里设置该属性?谢谢
web.config中
<httpRuntime
maxRequestLength="1000" useFullyQualifiedRedirectUrl="true" executionTimeout="30" />
<httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="1024000" executionTimeout="900"/>
在Web.config这行中maxRequestLength后面有一串数字,它的单位是什么呢?bit byte k 或者M
研究后发现应该是KB上面一行的意思是表示最大上传文件的大小限制在1GB以内!
在.net2.0中新增类HttpRuntimeSection :
static
public
double
getMaxlength()
... {
System.Web.Configuration.HttpRuntimeSection hrs = new System.Web.Configuration.HttpRuntimeSection();
/**/////return hrs.MaxRequestLength * 1024;
return hrs.MaxRequestLength ;
}
... {
System.Web.Configuration.HttpRuntimeSection hrs = new System.Web.Configuration.HttpRuntimeSection();
/**/////return hrs.MaxRequestLength * 1024;
return hrs.MaxRequestLength ;
}
但上述方法读到的值却始终是4096,查阅MSDN,得知System.Web.Configuration(.net2.0中新增的类)的属性和方法除了AppSettings之外均只能读取" 不可自定义的属性和功能",没有更好的办法,只好折衷:用.net1.1的方法解决:
static
public
string
getMaxlengthByAppSetting()
... {
//先在Web.Config文件中增加一个key ****************************************//
// <appSettings>
// <add key="maxRequestLength" value="1550000"/>
//</appSettings>
//再来读取这个值,遗憾的是,这样只能写两遍,即
//<system.web>
//<httpRuntime maxRequestLength="1550000" executionTimeout="3600"/>
//</system.web>
//这两个值必须保持一致。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
return config.AppSettings.Settings["maxRequestLength"].Value;
/**//* *********************以下为修改某个AppSettings的Key值。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
if (config.AppSettings.Settings["MyAppKey"] == null)
config.AppSettings.Settings.Add("MyAppKey", "Hello!");
else
config.AppSettings.Settings["MyAppKey"].Value = "Hello2!";
config.Save();
*/
}
... {
//先在Web.Config文件中增加一个key ****************************************//
// <appSettings>
// <add key="maxRequestLength" value="1550000"/>
//</appSettings>
//再来读取这个值,遗憾的是,这样只能写两遍,即
//<system.web>
//<httpRuntime maxRequestLength="1550000" executionTimeout="3600"/>
//</system.web>
//这两个值必须保持一致。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
return config.AppSettings.Settings["maxRequestLength"].Value;
/**//* *********************以下为修改某个AppSettings的Key值。
Configuration config = WebConfigurationManager.OpenWebConfiguration("~");
if (config.AppSettings.Settings["MyAppKey"] == null)
config.AppSettings.Settings.Add("MyAppKey", "Hello!");
else
config.AppSettings.Settings["MyAppKey"].Value = "Hello2!";
config.Save();
*/
}