首页 新闻 搜索 专区 学院

如何限制用户上传图片的大小

0
悬赏园豆:5 [已解决问题] 解决于 2008-12-09 10:40

我想限制用户上传图片的大小,如只想让用户上传90*50的图片,该怎么实现

liangjer的主页 liangjer | 初学一级 | 园豆:0
提问于:2008-12-08 12:08
< >
分享
最佳答案
0

上传图片,要求图片200*100象素,大小小于2M,
如果图片不符合要求,不能上传,否则上传图片,上传以后对图片按系统日期动态命名,保留路径到数据库里。

private void Button1_Click(object sender, System.EventArgs e)
  {
   if(File1.PostedFile.ContentType.ToUpper().IndexOf("IMAGE")>-1)
   {
    System.Drawing.Image img= System.Drawing.Image.FromStream(File1.PostedFile.InputStream);
    int Width = img.Width;
    int Height = img.Height;
    if(Width>200 || Height>100 || File1.PostedFile.ContentLength>1024*1024*2)
    {
     Response.Write("不符:Width="+Width.ToString() +"<br>Height="+Height.ToString()+"<br>Size="+(this.File1.PostedFile.ContentLength/1024).ToString("##,##0.00")+"K");
    }
    else
    {
     string sPath =Server.MapPath(System.DateTime.Now.ToString("yyy-MM-dd hh-mm-ss")+Session.SessionID+".jpg");
     this.File1.PostedFile.SaveAs(sPath);
     Response.Write("保存成功");
    }
   }
   else
   {
    Response.Write("请选择图片文件!");
   }
  }

Astar | 高人七级 |园豆:40805 | 2008-12-08 20:29
其他回答(4)
0

 除了FLASH等客户端环境以外,光使用js这个是无法控制的,只能传到服务器端再确定是保留还是删除

Gray Zhang | 园豆:17610 (专家六级) | 2008-12-08 12:15
0

上传到服务器后才能判断大小,也可以在服务器端对用户上传的图片进行部分截取,在客户端是单纯浏览器可执行的东西是搞不定的(HTML/CSS/JS)

客户端可以使用active控件来解决,但是只适用于某一些场景,比较企业内部管理系统等

丁学 | 园豆:18530 (专家六级) | 2008-12-08 14:58
0

可也以在后台区实现,控制区传输大小。

sl2008 | 园豆:407 (菜鸟二级) | 2008-12-08 16:11
0

如果只是限制尺寸 不是大小的话,可以使用滤镜来获取图片信息,这个不受IE7以上限制

Rookie_Leo | 园豆:202 (菜鸟二级) | 2012-08-03 17:27
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册