非常奇怪的问题判断图片长宽大小,各位谁帮我看下啊,小弟谢过了100分
#region 图片上传int imageLength; //保存图片大小
HttpPostedFile newFileUp = this.FileUpload1.PostedFile;
//获取图片文件扩展名
string[] fileName = new string[3];
fileName[0] = newFileUp.FileName;
if (fileName[0].Length > 0 )
{
string d = fileName[0].ToString();
System.Drawing.Image image = System.Drawing.Image.FromFile(d);
if(image.Height > 200 || image.Width > 180)
{
this.msg.Value = "7";
return;
}
System.Drawing.Image image = System.Drawing.Image.FromFile(d);这一步的时候就暴错了
C:\Documents and Settings\Administrator\桌面\DSCN1564.JPG
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.IO.FileNotFoundException: C:\Documents and Settings\Administrator\桌面\DSCN1564.JPG
源错误:
行 70: {
行 71: string d = fileName[0].ToString();
行 72: System.Drawing.Image image = System.Drawing.Image.FromFile(d);
行 73: if(image.Height > 200 || image.Width > 180)
行 74: {
--------------------编程问答-------------------- image换个名称呢 --------------------编程问答-------------------- sf? --------------------编程问答-------------------- string d = fileName[0].ToString();
System.Drawing.Image image = System.Drawing.Image.FromFile(d);
d是保存的客户端文件路径
Image.FromFile是从服务器端取图片
所以你要先把文件保存到服务器上,然后再用它初始化Image
Request.UploadFile[0].SaveAs(Server.MapPath("a.jpg"));保存到网站根目录
System.Drawing.Image image = System.Drawing.Image.FromFile(Server.MapPath("a.jpg"));从网站根目录取图片 --------------------编程问答--------------------
--------------------编程问答-------------------- 都不行啊,还有没有人知道的啊 --------------------编程问答-------------------- 正确答案就在眼前,你却视若无睹。。。。。。无语 --------------------编程问答-------------------- 3楼正确 --------------------编程问答-------------------- 应该可以 --------------------编程问答-------------------- 3楼正解...给分吧.. --------------------编程问答-------------------- 这个例子有说到取图片的高度与宽度:
if (File.Exists(path)) //判断文件是否存在
{
System.Drawing.Image image = System.Drawing.Image.FromFile(path);
this.pictureBox1.Image = image;
this.pictureBox1.Refresh();
this.label5.Text = image.Width.ToString();
this.label6.Text = image.Height.ToString();
FileInfo fileInfo = new FileInfo(path);
if (image.Width > 99 && image.Width < 210) //判断图片的宽是否是在100和210之间
{
if (image.Height > 99 && image.Height < 250) //判断图片的长是否是在100和250之间
{
........ //
}
}
}
http://blog.csdn.net/insus/archive/2008/01/20/2055030.aspx --------------------编程问答--------------------
--------------------编程问答-------------------- FileNotFound
int imageLength; //保存图片大小
HttpPostedFile newFileUp = this.FileUpload1.PostedFile;
string[] fileName = new string[3];
string ileName[0]=Server.MapPath("~/images/xxx.txt");//设置文件名(xxx.txt),以及文件路径
FileUpload1.SaveAs(filename);
//获取图片文件扩展名
if (fileName[0].Length > 0 )
{
string d = fileName[0].ToString();
System.Drawing.Image image = System.Drawing.Image.FromFile(d);
if(image.Height > 200 || image.Width > 180)
{
this.msg.Value = "7";
return;
}
}
服务器端 客户端没有分清 --------------------编程问答-------------------- 问题已解!
客户端文件上传 》 先保存到服务器端 》才能按文件形式访问
int imageLength; //保存图片大小
HttpPostedFile newFileUp = this.FileUpload1.PostedFile;
if(newFileUp == null) throw new Exception("请上传文件");
//获取图片文件扩展名
//string[] fileName = new string[3];
// fileName[0] = newFileUp.FileName;
// 保存方式有多种
sring uploadDir = Server.MapPath("\\upload"); // 假设upload为上传目录
string filePath = uploadDir + "\\" + System.IO.Path.GetFileName(newFileUp.FileName);
newFileUp.SaveFile(filePath) // + try/catch
//if (fileName[0].Length > 0 )
// {
//string d = fileName[0].ToString();
//System.Drawing.Image image = System.Drawing.Image.FromFile(d);
System.Drawing.Image image = System.Drawing.Image.FromFile(filePath);
if(image.Height > 200 ¦ ¦ image.Width > 180)
{
this.msg.Value = "7";
return;
}
--------------------编程问答-------------------- PostedFile不是IO操作的FileInfo。
PostedFile还在内存中,它的FileName是客户端的,你要把它保存一下,然后才能用GDI+打开操作。 --------------------编程问答-------------------- up --------------------编程问答-------------------- up --------------------编程问答--------------------
补充:.NET技术 , ASP.NET