在数据库中的每一条记录都有一个图片(图片是通过前台程序上传到服务器上的)的字段,而这个图片字段里我保存的是图片的名称,当我删除第一个记录时,怎么同时删除该记录中上传在服务器上的图片呢????希望高手不吝赐教!!!或者能提供其它的好方法!!!小弟在此表示感谢!!!

解决方案 »

  1.   

     Database db = new Database();
                DataRow dr = db.GetDataRow("select top 1 l_picture from line where l_id=" + Request.QueryString["id"]);
                if (System.IO.File.Exists(Server.MapPath(dr["l_picture"].ToString())))
                {
                    System.IO.File.Delete(Server.MapPath(dr["l_picture"].ToString()));
                }
      

  2.   

    如果没有把图片引入到项目中的话 图片不是在网站的根目录下面的 Server.MapPath也能取到吗? 
      

  3.   

    自己写的函数,给你参考一下吧!/// <summary>
            ///  删除指定文件
            /// </summary>
            /// <param name="strFileName"></param>
            /// <param name="FolderFile">文件夹名称,默认为"UpLoadFolder\\"</param>
            public static void DeleteFile(string strFileName, string FolderFile)
            {
                if (strFileName.Substring(0, 7).Equals("Default"))
                {
                    return;
                }
                string strNewFileName = HttpContext.Current.Request.PhysicalApplicationPath;
                if (File.Exists(strNewFileName + FolderFile + strFileName))
                {
                    File.Delete(strNewFileName + FolderFile + strFileName);
                }
            }
      

  4.   

    谢谢各位!!!!用File.Delete删除时有错误,错误信息:ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 要将 ASP.NET 访问权限授予某个文件,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。怎么办???