系统默认上传文件的大小是4M。但当上传文件超过这个大小时候。数据流就会被切断。
我想当用户上传大于系统默认的大小时。提示错误信息。能不能实现。
------最佳解决方案--------------------------------------------------------
配置web.config:
<configuration>
<system.web>
<httpRuntime maxRequestLength="102400" useFullyQualifiedRedirectUrl="true" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" enableVersionHeader="true"/>
</system.web>
IIS 的maxAllowedContent Length的缺省值为30000000 bytes. 上传大于这个长度的数据流被截断,导致文件或目录找不到。
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2097152000" maxQueryString="5000" maxUrl="8000"></requestLimits>
</requestFiltering>
</security>
</system.webServer>
------其他解决方案--------------------------------------------------------
if (bytes >1024 * 4)//这里你改成6了吗?1024*6
{
Response.Write("no");//图片不能大于4M
//Response.End();
}
------其他解决方案--------------------------------------------------------
FileInfo fileInfo = new FileInfo("文件路径");
float f = fileInfo.Length / 1024;
if(f/1024 > 4)
{
MessageBox.Show("上传图片文件大小不得超过4M");
}
------其他解决方案--------------------------------------------------------
用SWFupload这个flash的上传组件,可以在客户端判断文件的大小。
------其他解决方案--------------------------------------------------------
如果在web.config里设置的话,超过大小貌似还是会尝试上传的,只是上传过程中会发现超过大小而截断,所以效率不好。
用flash的一些上传组件应该可以在上传前判断出文件的大小,js的不知道可不可以,楼主可以自行搜索一下。
------其他解决方案--------------------------------------------------------
不会哦。我在web.config里面配置的是6M。ajax提交表单到A页面进行文件判断
$("#form1").ajaxSubmit({
success: function (data, status) {
if (status == "success") {
if (data == "no") {
alert("不能上传大于4M的图片");
file.parent()("<input type='file' name='file'/>");