我正在尝试将条目保存到数据库,并且有一个图像文件随之一起(上传到文件夹中)。我希望图像文件路径也保存在数据库中,但问题是,我希望文件名使用条目的ID(PhotoId),以确保图像文件名始终是唯一的。我有这个代码,因为还没有生成PhotoId所以没有真正起作用,所以保存的图像都有0.jpg的文件名。
无论如何我可以肯定地预测id,所以我可以将它放入数据库条目的文件名字段中吗?否则,这是一个问题。
if (!Directory.Exists(Server.MapPath("~/App_Data/" + photo.ClientId)))
{
Directory.CreateDirectory(Server.MapPath("~/App_Data/") + photo.ClientId);
}
var FileExt = Path.GetExtension(photo.File.FileName);
var FilePath = Path.Combine(Server.MapPath("~/App_Data/" + photo.ClientId), photo.PhotoId.ToString()) + FileExt;
photo.File.SaveAs(FilePath);
var ThumbFilePath = Path.Combine(Server.MapPath("~/App_Data/" + photo.ClientId),photo.PhotoId.ToString() + "_thumbnail") + FileExt;
PhotoTools.MakeThumbnail(FilePath, ThumbFilePath, 0.15);
//Finally update database
photo.FilePath = FilePath;
db.Photos.Add(photo);
db.SaveChanges();
return RedirectToAction("Create");
答案 0 :(得分:2)
通常,您将保存数据库记录,获取ID,然后保存文件名。如果必须,请使用路径更新记录。
但是如果路径总是相同的,除了ID,为什么要将它保存到数据库?
答案 1 :(得分:0)
选择表记录的数量并为其添加+1。 你可以得到。
最好生成GUID
或添加DateTime