Я пытаюсь сохранить изображение в папке и сохранить путь в базе данных с использованием структуры сущности в asp.net mvc 5
. Я сделал это, но у меня есть некоторые проблемы.Как изменить путь к карте сервера и имя файла при загрузке файла в asp.net mvc?
путь изображения в БД сохраняются так:
C:\Users\Shima\Documents\Visual Studio 2013\Projects\NP1\NP1\Images\SubGoods\2.jpg
Как я могу изменить его: ~/Images/SubGoods/2.jpg
??
и я хочу, чтобы изменить имя изображения, чтобы это primary key id
и я использовал pic =Convert.ToString(subgood.SubGoodID);
, чтобы сделать это, но это экономит Зеро:
C:\Users\Shima\Documents\Visual Studio 2013\Projects\NP1\NP1\Images\SubGoods\0
Это экономит всегда 0
.Я знаю, что это потому, что первичный ключ в этой строке не генерируется все же . где из моих кодов генерируется primary Key id
?
public ActionResult AddSubGood(SubGood subgood, HttpPostedFileBase UploadImage)
{
var MainGoodId = subgood.FKMainGoodID;
SubGoodRepositories blSubGood = new SubGoodRepositories();
string path="";
if (UploadImage != null)
{
string pic = System.IO.Path.GetFileName(UploadImage.FileName);
pic =Convert.ToString(subgood.SubGoodID);
path = System.IO.Path.Combine(
Server.MapPath("~/Images/SubGoods"), pic);
}
if (ModelState.IsValid)
{
subgood.FKMainGoodID = MainGoodId;
UploadImage.SaveAs(path);
subgood.SubGoodImage = path;
if (blSubGood.Add(subgood))
{
return JavaScript("alert('saved');");
}
else
{
return JavaScript("alert('didn't saved');");
}
}
else
{
return JavaScript("alert('error');");
}
}
вы можете добавить «/ Images/SubGoods» в web.config и сохранить только имя файла в базе данных. Конкатенайте их, когда вы хотите получить доступ к файлу. – adiga
Не уверен в сохранении файла с PK. Поскольку сначала вы сохраняете файл физически, а затем сохраняете URL-адрес в БД. Сохранение файла с меткой времени - лучший вариант imo. – adiga
Спасибо, это означает, что нет способа сделать это, используя 'Server.MapMath'? @adiga –