asp.net上传大小限制的问题,

简购 2010-07-09 11:03:23
我的网站要实现图片上传、视频上传、相册上传。我在配置文件里设置了最大可上传10M,现在我想实现图片上传是不超过200K,相册照片上传不超过200k,视频上传不超过10M,该怎么设限呢?请高手们赐教,不胜感激。
...全文
307 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿彪兄 2010-07-09
  • 打赏
  • 举报
回复
上面已经说得差不多了,支持一下
jackyzsy2008 2010-07-09
  • 打赏
  • 举报
回复
把配置文件maxrequestlength设置大一些来防止上传大文件时服务器直接拒绝服务,
然后在程序中限定上传大小,

<input type="file" id="myfile" name="myfile" />

文件大小:Request.Files["myfile"].ContentLength
  • 打赏
  • 举报
回复
这次修改为不加上传限制(原先为4M)
另外如果给客户部署的话,需要在webconfig中的节点增加以下配置<system.web>
<httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="819200" executionTimeout="900"/>

另外IIS中也有需要配置的
在IIS属性中选中“允许直接编辑配置数据库”,然后。在服务里关闭iis admin service服务
找到windows\system32\inesrv\下的metabase.xml编辑其中的 ASPMaxRequestEntityAllowed 把它修改为需要的值,默认为204800,即200K
然后重启iis admin service服务
yqyqyoyo 2010-07-09
  • 打赏
  • 举报
回复
不是用文件名。。是你上传的uploadfile控件或者用inputstream留也可以。
简购 2010-07-09
  • 打赏
  • 举报
回复
可是代码出错了,该怎么改?
“string”并不包含“ContentLength”的定义

源错误:



行 147:
行 148: //原文件的保存路径
行 149: if(tmpfilename.ContentLength > 1024 * 1024 * 2)
行 150: {
行 151: string fileSavePath = uploadpath + "\\" + filename;

周公 2010-07-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 myhope88 的回复:]
如果止传的文件很大的话,估计用contentlength会出错的,而且好像捕获不到,自己直接提示网页出错了,用分段读取流看下
[/Quote]
默认是最大上传4M的文件,20M以内可以通过修改web.config解决,超大的要通过其它方式解决。
周公 2010-07-09
  • 打赏
  • 举报
回复
contentlength是文件的字节大小
B/KB/MB直接的关系是1024的关系。
200K=200*1024
10M=10*1024*1024
当然你可以直接写值,不过上面的写法直观些。
myhope88 2010-07-09
  • 打赏
  • 举报
回复
如果止传的文件很大的话,估计用contentlength会出错的,而且好像捕获不到,自己直接提示网页出错了,用分段读取流看下
myhope88 2010-07-09
  • 打赏
  • 举报
回复
应该是用contentlength吧,这个属性的单位应该字节吧,所以1024×1027*2应该是2M的意思吧
简购 2010-07-09
  • 打赏
  • 举报
回复
上传的时候 根据格式 后缀名程序判断,这我也知道,可判断大小的代码是什么? 是这个吗?if(tmpfilename.ContentLength > 1024 * 1024 * 2)这是我在网上找的。1024 * 1024 * 2不知是什么意思?
  • 打赏
  • 举报
回复

你全部都用的一个上传控件,这个就要在你后台判断了。
wyq29 2010-07-09
  • 打赏
  • 举报
回复
上传的时候 根据格式 后缀名程序判断吧
ganlanfei 2010-07-09
  • 打赏
  • 举报
回复
参考下面的例子:

long fsize = FileUpload1.PostedFile.ContentLength;
if (fsize > 120 * 1024)
{
Alert("图片大小不得超过120K");
return;
}
ganlanfei 2010-07-09
  • 打赏
  • 举报
回复
参考下面的例子:

long fsize = FileUpload1.PostedFile.ContentLength;
if (fsize > 120 * 1024)
{
Alert("图片大小不得超过120K");
return;
}
罗纳尔迪尼奥 2010-07-09
  • 打赏
  • 举报
回复
把各种上传大小写在配置文件中,然后后台程序根据后缀名判别然后读取对应的限制大小来进行,方便
wuyq11 2010-07-09
  • 打赏
  • 举报
回复
int fsize = File1.PostedFile.ContentLength;
if (fsize > 1024 * 500)
{
}
FileUpload1 .PostedFile .ContentLength

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧