异常详细信息: System.IO.FileNotFoundException

wenzi_55 2011-12-19 04:12:55
<%@ Page Language="C#" MasterPageFile="~/Black_page/MasterPage_Back.master" AutoEventWireup="true" CodeFile="图片上传大小事件处理.aspx.cs" Inherits="Black_page_图片上传大小事件处理" Title="无标题页" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<table>
<tr>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" Text="上传 " onclick="Button1_Click1" />
</td>
</tr>
</table>
</asp:Content>


protected void Button1_Click1(object sender, EventArgs e)
{

string Name = this.FileUpload1.FileName;
string idx = Name.Substring(Name.LastIndexOf(".") + 1);//获取格式名
if (idx == "bmp" || idx == "jpg" || idx == "gif")
{
//string NameQQ = System.DateTime.Now.Ticks.ToString() +"."+ idx;
string lujing = Server.MapPath("tupian\\" + Name);

this.FileUpload1.PostedFile.SaveAs(lujing);

string lujing1 = Server.MapPath("yuantu\\" + Name);

commd.MakeThumbnail(lujing1, lujing);

this.FileUpload1.SaveAs(lujing);

string str = "insert into Table_1(photo_URL,url) values('" + lujing1 + "','" + Name + "')";
SqlConnection con = db.CreatDB();
SqlCommand com = new SqlCommand();
com.Connection = con;
con.Open();
com.CommandText = str;
com.ExecuteNonQuery();
con.Close();
}
else
{
Response.Write("<script>alert('图片格式不正确!')</script>");
}
}
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="originalImagePath">源图路径(物理路径)</param>
/// <param name="thumbnailPath">缩略图路径(物理路径)</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成缩略图的方式</param>
public void MakeThumbnail(string originalImagePath, string thumbnailPath)
{
Image originalImage = Image.FromFile(originalImagePath);(在这里报错)

int towidth = 96;
int toheight = 96;

int x = 0;
int y = 0;
int ow = originalImage.Width;
int oh = originalImage.Height;

if (ow>oh)
{

toheight = 73;
}
else
{
towidth=73;
}

//新建一个bmp图片
Image bitmap = new System.Drawing.Bitmap(towidth, toheight);

//新建一个画板
Graphics g = System.Drawing.Graphics.FromImage(bitmap);

//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;

//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;

//清空画布并以透明背景色填充
g.Clear(Color.Transparent);

//在指定位置并且按指定大小绘制原图片的指定部分
g.DrawImage(originalImage, new Rectangle(0, 0, towidth, toheight),
new Rectangle(x, y, ow, oh),
GraphicsUnit.Pixel);

try
{
//以jpg格式保存缩略图
bitmap.Save(thumbnailPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (System.Exception e)
{
throw e;
}
finally
{
originalImage.Dispose();
bitmap.Dispose();
g.Dispose();
}
}
...全文
526 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenzi_55 2011-12-19
  • 打赏
  • 举报
回复
修改了路劲,成功了,

string Name = this.FileUpload1.FileName;
string idx = Name.Substring(Name.LastIndexOf(".") + 1);//获取格式名
if (idx == "bmp" || idx == "jpg" || idx == "gif")
{
//string Name = System.DateTime.Now.Ticks.ToString() +"."+ idx;

string lujing1 = Server.MapPath("yuantu\\" + Name);

this.FileUpload1.PostedFile.SaveAs(lujing1);

string lujing = Server.MapPath("tupian\\" + Name);

commd.MakeThumbnail(lujing1, lujing);

string str = "insert into Table_1(photo_URL,url) values('" + lujing1 + "','" + Name + "')";
SqlConnection con = db.CreatDB();
SqlCommand com = new SqlCommand();
com.Connection = con;
con.Open();
com.CommandText = str;
com.ExecuteNonQuery();
con.Close();
}
else
{
Response.Write("<script>alert('图片格式不正确!')</script>");
}
chen_ya_ping 2011-12-19
  • 打赏
  • 举报
回复
抛出的异常很清楚了啊,文件没有找到,你确定你上传成功了,而且提供给方法的路径是对的。
wenzi_55 2011-12-19
  • 打赏
  • 举报
回复
图片大小不超过1M
wenzi_55 2011-12-19
  • 打赏
  • 举报
回复
还想问下,怎么限定上传图片的大小?代码怎么写?
wenzi_55 2011-12-19
  • 打赏
  • 举报
回复
出来了,做出来了,是写反了!谢谢大家,辛苦你们了!
CODE163 2011-12-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fangxinggood 的回复:]
commd.MakeThumbnail(lujing1, lujing);

写反了撒。。。

commd.MakeThumbnail(lujing, lujing1);

方法参数名定义得挺好,局部变量也注意下啊
[/Quote]

因为你写反了 所以你要处理的图片没有找到(你要生成缩略图需要一个原图片处理得到缩略图,原图片地址错了所以没找到该图片) 所以抛出异常 FileNotFound 没有发现文件。
wenzi_55 2011-12-19
  • 打赏
  • 举报
回复
咋地没人哈。跪求解释啊???
机器人 2011-12-19
  • 打赏
  • 举报
回复
commd.MakeThumbnail(lujing1, lujing);

写反了撒。。。

commd.MakeThumbnail(lujing, lujing1);

方法参数名定义得挺好,局部变量也注意下啊
wenzi_55 2011-12-19
  • 打赏
  • 举报
回复

62,067

社区成员

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

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

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

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