惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
罗磊的独立博客
腾讯CDC
云风的 BLOG
云风的 BLOG
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
宝玉的分享
宝玉的分享
U
Unit 42
I
InfoQ
D
DataBreaches.Net
Blog — PlanetScale
Blog — PlanetScale
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
美团技术团队
IT之家
IT之家
Stack Overflow Blog
Stack Overflow Blog
F
Fortinet All Blogs
GbyAI
GbyAI
S
SegmentFault 最新的问题

博客园 - 自由.Net

一段javascript实现缩略图的好代码 - 自由.Net - 博客园 转-支付宝Payto接口的c#.net实现 ASP.NET(C#)利用QQ的IP数据库QQWry.Dat进行精确IP查询 菜鸟到高手:SQL开发进阶常用精妙语句 自动生成html文件 Pinging ? with 32 bytes of data 如何获取自增长列(标识列)的ID,并写入另一张表(多对多关系插入数据示例) 虚拟主机下asp.net 2.0的导航控件treeview,menu等出错 - 自由.Net - 博客园 在GridView帮定数据时把太长的字段替换成"...." 数据库中id大于1时帮定到Gridview上显示为红色 - 自由.Net - 博客园 SQl 使自增字段清零 asp.net 2.0 下设置和使用FCKeditor文本编辑器 Asp.net 数据采集基类(远程抓取,分解,保存,匹配) PayPal支付接口 DataSet接收XML数据并按条件搜索 我的asp.net程序当前占用了多少内存? [Asp.Net]按字符串实际长度截取定长字符窜 DataBinding绑定表达式: 验证用户名必须以字母打头且不能含有中文 加密,解密Web.Config
asp.net 2.0中判断上传的图片是否符合规格
自由.Net · 2007-03-17 · via 博客园 - 自由.Net

 在asp.net 2.0中,在上传图片时,有时往往要判断用户上传的图片是否符合指定规格,如果不符合规格,
则不予以上传,那么可以用以下的代码片段进行判断。
    首先在web.config文件中设置图片上传的限制尺寸,比如
<appSettings>
  <add key="RequiredHeight" value="184"/>
  <add key="RequiredWidth" value="370"/>
</appSettings>

  之后,在页面获得web.config文件里预先设定的尺寸

if (Page.IsPostBack)
{
height = Convert.ToInt32(
ConfigurationManager.AppSettings.Get("RequiredHeight"));
width = Convert.ToInt32(
ConfigurationManager.AppSettings.Get("RequiredWidth"));
}

之后在“上传”按钮的事件代码中如下编写

    if (Page.IsValid)
    {
      if (FileUpload1.HasFile)
      {
        string extension = Path.GetExtension(FileUpload1.PostedFile.FileName);
        switch (extension.ToLower())
        {
       case ".gif":
          case "jpg":
            try
            {
        //如果符合尺寸
              if (ValidateFileDimensions())
              {
                string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName);
                string saveAsName = Path.Combine(Server.MapPath("~/Uploads/"), fileName);
                FileUpload1.PostedFile.SaveAs(saveAsName);
                lblSucces.Visible = true;
              }
              else
              {
                valInvalidDimensions.IsValid = false;
                valInvalidDimensions.ErrorMessage = String.Format(valInvalidDimensions.ErrorMessage, height, width);
              }
            }
            catch
            {
              // Unable to read the file dimensions. The uploaded file is probably not an image.
              valInvalidFile.IsValid = false;
            }
            break;

          default: // The uploaded file has an incorrect extension
            valInvalidFile.IsValid = false;
            break;
        }
      }
    }

   public bool ValidateFileDimensions()
  {
    using (System.Drawing.Image myImage = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream))
    {
      return (myImage.Height == height && myImage.Width == width);
    }
  }

要留意其中ValidateFileDimensions()中完成了判断尺寸的过程了
最后,页面放一些验证控件
<form id="form1" runat="server">
    <div>
      <asp:FileUpload ID="FileUpload1" runat="server" />
      <asp:Button ID="btnUpload" runat="server" OnClick="btnUpload_Click" Text="Upload File" />
      <br />
      <asp:RequiredFieldValidator ID="valFileUpload1" ControlToValidate="FileUpload1" ErrorMessage="You must select a file first." runat="server" Display="Dynamic" />
      <asp:CustomValidator ID="valInvalidFile" runat="server" ErrorMessage="The file you uploaded doesn't appear to be a valid image." Display="Dynamic"></asp:CustomValidator>
      <asp:CustomValidator ID="valInvalidDimensions" runat="server" ErrorMessage="The image you uploaded has incorrect dimensions. Please select a file with a height of {0}px and a width of {1}px." Display="Dynamic" EnableViewState="false"></asp:CustomValidator>
      <asp:Label ID="lblSucces" runat="server" Text="The file you uploaded has been saved to disk successfully." Visible="false" EnableViewState="false"></asp:Label>
    </div>
  </form>