异常详细信息: System.IO.FileNotFoundException
<%@ 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();
}
} --------------------编程问答-------------------- [img=C:\Documents and Settings\Administrator\桌面][/img] --------------------编程问答-------------------- commd.MakeThumbnail(lujing1, lujing);
写反了撒。。。
commd.MakeThumbnail(lujing, lujing1);
方法参数名定义得挺好,局部变量也注意下啊 --------------------编程问答-------------------- 咋地没人哈。跪求解释啊??? --------------------编程问答--------------------
因为你写反了 所以你要处理的图片没有找到(你要生成缩略图需要一个原图片处理得到缩略图,原图片地址错了所以没找到该图片) 所以抛出异常 FileNotFound 没有发现文件。 --------------------编程问答-------------------- 出来了,做出来了,是写反了!谢谢大家,辛苦你们了! --------------------编程问答-------------------- 还想问下,怎么限定上传图片的大小?代码怎么写? --------------------编程问答-------------------- 图片大小不超过1M --------------------编程问答-------------------- 抛出的异常很清楚了啊,文件没有找到,你确定你上传成功了,而且提供给方法的路径是对的。 --------------------编程问答-------------------- 修改了路劲,成功了,
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>");
}
补充:.NET技术 , ASP.NET