非常奇怪的问题判断图片长宽大小,各位谁帮我看下啊,小弟谢过了100分

gjchjw 2008-03-21 06:25:46
#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: {


...全文
78 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
boblaw 2008-03-22
  • 打赏
  • 举报
回复
晕,1楼已经回复了
boblaw 2008-03-22
  • 打赏
  • 举报
回复
[Quote=引用楼主 gjchjw 的帖子:]
string d = fileName[0].ToString();
System.Drawing.Image image = System.Drawing.Image.FromFile(d);
[/Quote]
d是客户端的文件名,在服务器端是不存在的,服务器端你调用Image.FromFile取客户端的文件怎么可能?
你应该直接把上传文件的内容读取,或先把上传的文件保存下来。
如下:

string d = fileName[0].ToString();
this.FileUpload1.PostedFile.SaveAs("文件保存在服务器的的地址");
System.Drawing.Image image = System.Drawing.Image.FromFile("文件保存在服务器的的地址");

如果文件你不想保存,直接读流也可以,如下:

System.Drawing.Image image = System.Drawing.Image.FromStrean(FileUpload1.PostedFile.InputStream);

qfgyd2004 2008-03-22
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 supper168 的回复:]
C# code
string FilePath= fileName[0].ToString();
system.Drawing.Image.FromStream(this.FileUpload1.PostedFile.InputStream);
string savedPath = Server.MapPath(FilePath);
this.FileUpload1.PostedFile.SaveAs(savedPath);
System.Drawing.Image image = System.Drawing.Image.FromFile(savedPath);





试试
[/Quote]
春天的气息 2008-03-21
  • 打赏
  • 举报
回复

string FilePath= fileName[0].ToString();
system.Drawing.Image.FromStream(this.FileUpload1.PostedFile.InputStream);
string savedPath = Server.MapPath(FilePath);
this.FileUpload1.PostedFile.SaveAs(savedPath);
System.Drawing.Image image = System.Drawing.Image.FromFile(savedPath);



试试
  • 打赏
  • 举报
回复

UP
zpcoder 2008-03-21
  • 打赏
  • 举报
回复

要上先上传。上传到服务器后
在用服务器的路径访问!

不上传,也可以。但我现在再网吧。不好写代码!
给我发个信息。我在把代码给你
机器人 2008-03-21
  • 打赏
  • 举报
回复
很明显,string d = fileName[0].ToString(); 这个是客户端路径。
因为这是你上传文件。你可以直接用:
system.Drawing.Image.FromStream(this.FileUpload1.PostedFile.InputStream);

或者是先保存到服务器上某个路径再读取:
string savedPath = Server.MapPath("Uploads/1.jpg");
this.FileUpload1.PostedFile.SaveAs(savedPath);
System.Drawing.Image image = System.Drawing.Image.FromFile(savedPath);

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧