当前位置:编程学习 > C#/ASP.NET >>

异常详细信息: 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);

方法参数名定义得挺好,局部变量也注意下啊 --------------------编程问答-------------------- 咋地没人哈。跪求解释啊??? --------------------编程问答--------------------
引用 2 楼 fangxinggood 的回复:
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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,