/// <summary> /// 返回上传成功后的文件名,如果上传失败则返回"" /// </summary> /// <param name="fu">FileUpload控件ID</param> /// <returns></returns> protected string UpFile(FileUpload FileUpload1) { string fileFullName = ""; if (FileUpload1.HasFile) { //判断文件是否小于2Mb if (FileUpload1.PostedFile.ContentLength < 1024 * 1024 * 2) { try { string filename = DateTime.Now.ToString("yyyyMMddhhmmssffff"); string path = DateTime.Now.ToString("yyyyMM"); if (!Directory.Exists(Server.MapPath("~/UpFile/" + path + "/"))) { Directory.CreateDirectory(Server.MapPath("~/UpFile/" + path + "/")); } string fileExt = FileUpload1.FileName.Split('.')[1].ToString().ToLower(); //上传文件并指定上传目录的路径 FileUpload1.PostedFile.SaveAs(Server.MapPath("~/UpFile/" + path + "/") + filename + "_bak." + fileExt); //将大图缩小,以免太大影响打开速度 ThumNail.MakeThumNail(Server.MapPath("~/UpFile/" + path + "/") + filename + "_bak." + fileExt, Server.MapPath("~/UpFile/" + path + "/") + filename + "." + fileExt, 600, 600, "HW2"); File.Delete(Server.MapPath("~/UpFile/" + path + "/") + filename + "_bak." + fileExt); //生成缩略图 ThumNail.MakeThumNail(Server.MapPath("~/UpFile/" + path + "/") + filename + "." + fileExt, Server.MapPath("~/UpFile/" + path + "/") + filename + "_s." + fileExt, 300, 300, "HW2"); /*注意->这里为什么不是:FileUpLoad1.PostedFile.FileName * 而是:FileUpLoad1.FileName? * 前者是获得客户端完整限定(客户端完整路径)名称 * 后者FileUpLoad1.FileName只获得文件名. */ //当然上传语句也可以这样写(貌似废话): //FileUpLoad1.SaveAs(@"D:\"+FileUpLoad1.FileName); filename = filename + "." + fileExt; fileFullName = "/UpFile/" + path + "/" + filename; } catch (Exception ex) { //lblMessage.Text = "出现异常,上传图片失败!" + ex.Message; //lblMessage.Text += ex.Message; } } else { //lblMessage.Text = "上传文件不能大于2MB!"; } } return(fileFullName); }