判断文件是否存在(确定给定路径是否引用磁盘上现有的目录)
if (!System.IO.Directory.Exists(Server.MapPath("~/Document/productPicture/")))
{
创建文件夹(在指定路径创建所有目录和子目录)
System.IO.Directory.CreateDirectory(Server.MapPath("~/Document/productPictu re/"));
}
查询旧的数据(旧的图片),查询出之前图片信息
var dbStudentPic = (from tbProduct in myModel.S_Product
where tbProduct.productID == dbProduct.productID
select new
{
tbProduct.picture,
}).Single();
现在图片
if (upImage != null && upImage.ContentLength > 0)
{
之前上传图片,现在上传图片(替换:新增现在 删除旧的),判断文件是否 存在
string deleteFilePath = Server.MapPath("~/Document/productPicture/")
+dbStudentPic.picture;
判断之前是否存在图片,存在就先删除
if (System.IO.File.Exists(deleteFilePath))
{
System.IO.File.Delete(deleteFilePath);
}
之前为空,现在上传图片(新增现在),给图片重命名
获取文件后缀
string srtrEx = System.IO.Path.GetExtension(upImage.FileName);
拼接图片名称(时间+全球唯一标识符+后缀)
string fileName = DateTime.Now.ToString(“yyyyMMddHHmmssffff”) + "" + Guid.NewGuid().ToString() + srtrEx;
拼接图片 保存路径
string filePath = Server.MapPath("~/Document/productPicture/") + fileName;
保存上载图片内容
upImage.SaveAs(filePath);
数据库保存名字
dbProduct.picture = fileName;
}
else
{
之前上传图片,现在没有(使用旧的)
dbProduct.picture = dbStudentPic.picture;
}