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

推荐订阅源

A
About on SuperTechFans
量子位
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
V
Visual Studio Blog
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园 - 司徒正美
V
V2EX
The GitHub Blog
The GitHub Blog
博客园_首页
月光博客
月光博客
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MyScale Blog
MyScale Blog
博客园 - 叶小钗
F
Fortinet All Blogs
T
Tailwind CSS Blog
GbyAI
GbyAI
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
WordPress大学
WordPress大学
B
Blog
H
Help Net Security

博客园 - 自由.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>