0

我认为 ajaxcontroltoolkit:ajaxfileupload 有太多的错误和衰落。因为我在我的项目中经常使用这个组件,所以我克服了这个控件的许多严重的令人不安的错误和功能。现在,我非常需要在保存之前使用 ajaxfileupload 获取上传的图像宽度和高度,以检查宽度或高度是否正确并根据检索到的信息通知用户图像宽度和高度不兼容,然后阻止该过程走得更远,保存图片。请问有什么想法吗?!

HTML 方面:

<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server"
        onuploadcomplete="AjaxFileUpload1_UploadComplete" ThrobberID="myThrobber" MaximumNumberOfFiles="1" AllowedFileTypes="jpg,jpeg"/>

代码背后:

protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
    string filePath = "~/upload/" + e.FileName;
    AjaxFileUpload1.SaveAs(filePath);

}
4

1 回答 1

6

AjaxFileUpload 只处理上传,但不会为您提供有关文件本身的任何信息。你需要使用类似的东西

System.Drawing.Image objImage = System.Drawing.Image.FromFile(Server.MapPath(filePath));
width = objImage.Width;
height = objImage.Height; 

如果您不想将文件加载到内存中,您可以检查如何在不加载图像的情况下在 .NET 中可靠地获取图像尺寸?在不读取整个文件的情况下获取图像尺寸

另一种方法是使用诸如Plupload 之类的工具或类似工具在客户端检查图像宽度和高度。

于 2012-12-03T08:53:34.233 回答