inputfile上传图片过大的问题我有多个file上传图片,我在web.config。配置的最大上传图片是6M。因为我是在后
input=file上传图片过大的问题
我有多个file上传图片,我在web.config。配置的最大上传图片是6M。
因为我是在后台判断图片的的大小
现在用户上传7M,我单步调试。ajax没把图片发送到后台。
所有就不会提示图片过大,如果直接点注册就会报错。
我想当用户上传超过我配置的最大图片时候。就提示个友好的界面。
怎么弄哦。大家给点建议和思路。
我这里是多个file。不只是一个。
系统默认是累加计算图片大小的。总和过大也不会提示。
[最优解释]
判断文件大小 超过限制就提示
[其他解释]
HttpPostedFile fil = Request.Files["fileSrc"];
int bytes = fil.ContentLength; //获取文件的字节大小
if (bytes > 1024 * 1024 * 6)
{
Response.Write("<script language='javascript'>alert('上传的图片超过限定的大小,请保证图片文件6M以内,请重新上传!');</script>");//图片不能大于6M
//Response.End();
}
[其他解释]配置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>
[其他解释]不在 webconfig 里面限制大小
[其他解释]建议可以用一起其他的上传的控件,都是很不错的,不用优先考虑原生态的input type=’file‘
[其他解释]uploadify
------其他解决方案--------------------
if (bytes >1024 * 4)//这里你改成6了吗?1024*6
{
Response.Write("no");//图片不能大于4M
//Response.End();
}
[其他解释]晕 ,你把web。config 中的限制改成8m ,程序里面的大小限制不变 不就ok了
再说了 ,你web。config 限制成6m ,你也传不了6m的文件呀, 你还有其他信息需要发给服务端呀,比如cookie ,userAgent 等。
或者你在客户端处理,js 得不到文件大小 ,你又不愿意用flash ,插件跟不可能,
用ajax发给服务端,服务端没响应就算是文件超大了 (没实践)
[其他解释]http://stackoverflow.com/questions/1046230/streaming-large-file-uploads-to-asp-net-mvc
[其他解释]http://bbs.csdn.net/topics/380249577 完美解答了你的问题
[其他解释]Refer:
http://www.cnblogs.com/insus/archive/2012/08/09/2629920.html
[其他解释]不对吧???
[其他解释]web.config 中的大小限制 是用来防止攻击的,不是作为上传文件大小限制的配置项的
[其他解释]是啊。我是在后台判断文件大小的。
HttpPostedFile fil = Request.Files["fileSrc"];
int bytes = fil.ContentLength; //获取文件的字节大小
if (bytes > 1024 * 1024 * 4)
{
Response.Write("no");//图片不能大于4M
//Response.End();
}
我web.config配置的最大是6M,可当上传图片超过6M。图片就不发送到后台。我就判断不了呢。怎么解决呢。这样没判断。用户就不知道这图片是否可以上传。点击注册的时候就报错。说超过了最大长度。我试了的。
我想如果图片超过我web.config配置的大小怎么提示错误。或者友好的提示界面。
[其他解释]可当用户上传大于6M的图片(我web.config配置的最大是6M)。我这ajax都不发送呢?
$("#form1").ajaxSubmit({
success: function (data, status) {
if (status == "success") {
if (data == "no") {
alert("不能上传大于4M的图片");
file.parent().html("<input type='file' name='file'/>");
return;
}
msg(file, "ok");
}
}
});
就没到后台去。就更不可能执行你说的那句代码哦。现在的问题的。当上传的图片一张或者几张总共大小。超过了web.config的大小。ajax提交表单就提交不过
[其他解释]
<httpRuntime maxRequestLength="6144"
useFullyQualifiedRedirectUrl="true"
executionTimeout="6000"
minFreeThreads="8"
minLocalRequestFreeThreads="4"
appRequestQueueLimit="100"
enableVersionHeader="true"
/>
嗯。我这里也是这样配的。还是会报错呢。 你看图。这是我的上传如果大于就提示
现在上传的图片以为大大超过了我配置的长度。没有任何提示。下图:
然后我点击注册。看图:
[其他解释]那怎么控制哦。给点思路好吗。不控制的话。默认是4M呢。如果上传大于4M一样的结果哦
[其他解释]嗯咯。之前我用过SWFUpload上传,但现在用的是这个。很想知道这个问题能不能解决
[其他解释]我现在的难题是。当我上传的文件大于配置里面的大小时,ajax提交表单提交不到请求的页面。这样我怎么能提示用户、