【问题标题】:How do I Get Height & Width from an Uploaded image file如何从上传的图像文件中获取高度和宽度
【发布时间】:2010-11-07 00:58:52
【问题描述】:

我正在使用 ASP.NET 2.0。我正在尝试获取使用 FileUpload 控件上传的图像文件的高度和宽度。上传后,图像将保存在数据库中,而不是文件系统中。看来我应该能够使用类似下面的代码来执行此操作,但我无法让它工作。

Dim strm As Stream = oPostedFile.InputStream
dim i as image
i = System.Drawing.Image.FromStream(strm)

【问题讨论】:

  • 您的标签非常不合适。试试:改用 ASP InputStream 图像?

标签: asp.net file upload height width


【解决方案1】:

我找到了解决办法。

Dim s As Stream = oPostedFile.InputStream
Dim i As Image = System.Drawing.Image.FromStream(s)

intFileWidth = i.PhysicalDimension.Width
intFileHeight = i.PhysicalDimension.Height

【讨论】:

    【解决方案2】:

    通过以下代码获取图片类型文件的高度和宽度

    System.Drawing.Image imgFile = 
    System.Drawing.Image.FromStream(fupDeviceImage.PostedFile.InputStream);
      if (imgFile.PhysicalDimension.Width > 500 || imgFile.PhysicalDimension.Height > 500)
      {
          cvDeviceImage.IsValid = false;
          fupDeviceImage.Focus();
          return;
      }
    

    【讨论】:

      【解决方案3】:

      在此代码中,您可以看到上传的图像及其高度和宽度,并将其转换为 400 到 800 像素的近似值*

      ![首先,您需要这些服务器控件来上传和显示图像...在此链接中显示][1]

      [1]:http://i.stack.imgur.com/X0wNJ.png

      您还需要一个面板服务器控件来在页面中动态添加图像;

          <asp:Panel ID="Panel1" runat="server">
          </asp:Panel>
      

      然后为Button1_click添加Asp.cs类代码:

      protected void Button1_Click(object sender, EventArgs e)
          {
              Label1.Text = FileUpload1.FileName + "<br>" + FileUpload1.PostedFile.ContentType + "<br>" + FileUpload1.PostedFile.ContentLength;
              string s = Request.MapPath(Request.ApplicationPath + "/upload/" + FileUpload1.FileName);
              try
              {
                  FileUpload1.SaveAs(s);
                  Label1.Text += "<br>file upload success..";
                  //For Get Uploaded Image height and Width :-
                  System.Drawing.Image im = System.Drawing.Image.FromStream(FileUpload1.PostedFile.InputStream);
                  double h = im.PhysicalDimension.Height;
                  double w = im.PhysicalDimension.Width;
                  Label2.Text = "Height:" + h + "...Widht: " + w;
                  //For Display a Image in Panal control and set it height and width:-
                  Image img = new Image();
                  img.ImageUrl = "/upload/" + FileUpload1.FileName;
                  if (h > w)
                  {
                      while (h > 800)
                      {
                          h = h * 0.5;
                      }
                  }
                  else
                  {
                      while (h > 400)
                      {
                          h = h * 0.5;
                      }
                  }
                  img.Height = new Unit(h);
                  if (w > h)
                  {
                      while (w > 800)
                      {
                          w = w * 0.5;
                      }
                  }
                  else
                  {
                      while (w > 400)
                      {
                          w = w * 0.5;
                      }
                  }
                  img.Width = new Unit(w);
                  Panel1.Controls.Add(img);
                  Label2.Text += "<br>Now..Height:" + h + "...Widht: " + w;
              }
              catch
              {
                  Label2.Text = "<br>choose your file..";
                  Label1.Text = "";
              }
          } 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-05-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多