我认为ajaxcontroltoolkit:ajaxfileupload有太多错误而且减少了.因为我在我的项目中经常使用这个组件,所以我克服了许多严重令人不安的错误和这个控件的功能.现在,我真的需要使用ajaxfileupload上传图像的宽度和高度,然后保存它以检查宽度或高度是否正确并根据检索到的信息,在图像宽度和高度不兼容的情况下通知用户然后阻止进程进一步保存图片.有什么想法吗?!
HTML方面:
<asp:AjaxFileUpload ID="AjaxFileUpload1" runat="server"
onuploadcomplete="AjaxFileUpload1_UploadComplete" ThrobberID="myThrobber" MaximumNumberOfFiles="1" AllowedFileTypes="jpg,jpeg"/>
Run Code Online (Sandbox Code Playgroud)
代码背后:
protected void AjaxFileUpload1_UploadComplete(object sender, AjaxControlToolkit.AjaxFileUploadEventArgs e)
{
string filePath = "~/upload/" + e.FileName;
AjaxFileUpload1.SaveAs(filePath);
}
Run Code Online (Sandbox Code Playgroud)
AjaxFileUpload只处理上传,但没有提供有关文件本身的任何信息.你需要使用类似的东西
System.Drawing.Image objImage = System.Drawing.Image.FromFile(Server.MapPath(filePath));
width = objImage.Width;
height = objImage.Height;
Run Code Online (Sandbox Code Playgroud)
如果您不想将文件加载到内存中,可以检查如何在不加载图像的情况下可靠地获取.NET中的图像尺寸?或获取图像尺寸而不读取整个文件.
另一种方法是使用Plupload或类似的工具检查客户端的图像宽度和高度.