У меня есть раздел, который при создании принимает изображения, однако при редактировании этого элемента
Я не хочу, чтобы они повторно загружали изображения без изменений, просто чтобы изменить описание или имя.
Я создал это для загрузки файлов:
public void UploadFiles(string currentFileName, FormCollection form)
{ // loop through all files in form post
foreach (string file in Request.Files)
{
HttpPostedFileBase hpf = Request.Files[file];
// if no file is uploaded, we could be editing so set to current value
if (hpf.ContentLength == 0)
{
form[file] = currentFileName;
}
else
{ //rename the file unique so we dont clash with names
var filename = hpf.FileName.Replace(" ", "_").Replace(".", DateTime.Now.Date.Ticks + ".");
UploadFileName = filename;
hpf.SaveAs(Server.MapPath("~/Content/custom/" + filename));
// set the name of the file in our post to the new name
form[file] = UploadFileName;
}
}
// ensure value is still sent when no files are uploaded on edit
if(Request.Files.Count <= 0)
{
UploadFileName = currentFileName;
}
}
все работает нормально, когда требуется только одно изображение (CurrentFileName), однако теперь имеется новое доступное изображение, которое переносит его на 2 изображения в базе данных, так как currentFileName устарело. Кто-нибудь справился с этим и как я ударил стену этим. думал о string [] currentFiles, но не вижу, как сопоставить это с строковым файлом в Request.Files.
если это поможет, я также работаю с моделями для формы, чтобы я мог обойти модель, но я не думаю, что вы сможете сделать model.file без какого-либо отражения.
помощь очень ценится.
спасибо