1

我想将图像文件上传到 FTP 服务器,所以我可以AsyncFileUpload控制 asp.net 页面。我正在使用以下代码来获取类型,AsyncFileUpload1.PostedFile然后尝试获取它的尺寸,但到目前为止还没有运气。

string cType =asyncFU.PostedFile.ContentType;
if (cType.Contains("image"))
{
   Stream ipStream = asyncFU.PostedFile.InputStream;
   Image img = System.Drawing.Image.FromStream(ipStream); //ERROR comes here, I can't think the work around this.
   int w = img.PhysicalDimension.Width;
   int h = img.PhysicalDimension.Height;
}

如您所见,错误消息说它无法从 转换System.Drawing.ImageSystem.Web.UI.WebControls.Image。我理解这个错误,但我想不出解决这个问题的方法。

我可以AsyncFileUpload控制未知文件的上传位置,但如果它是图像文件,则仅保存到 FTP 服务器。

有什么建议么?

4

2 回答 2

1

尝试这个 :

Stream ipStream = fuAttachment.PostedFile.InputStream;
        using (var image = System.Drawing.Image.FromStream(ipStream))
        {                    
            float w = image.PhysicalDimension.Width;
            float h = image.PhysicalDimension.Height;
        }
于 2013-09-09T08:20:49.480 回答
0

您的img变量应该是类型System.Drawing.Image,而不是System.Web.UI.WebControls.Image.

于 2013-04-09T07:26:03.353 回答