Я пытаюсь переопределить метод SaveAs в httppostedfilewrapper. Я смог успешно использовать следующий код при использовании httppostedfilewrapper, но когда я делаю свой
Модель
public class UploadedFile : HttpPostedFileWrapper
{
public UploadedFile(HttpPostedFile postedFile) : base(postedFile)
{
}
public string Title { get; set; }
}
Просмотр моей viewmodel имеет свойство моего пользовательского класса (работает, если я здесь использую httppostedFileWrapper вместо UploadedFile
[NotMapped]
public UploadedFile File { get; set; }
здесь, в моем контроллере, всегда ноль
public async Task<ActionResult> Upload(CreateProfileVM editProfile)
вот мой взгляд
@using (Html.BeginForm("", "Profiles", FormMethod.Post, new { enctype = "multipart/form-data" }))
<div class="form-group">
@Html.LabelFor(model => model.ImageFile, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.ImageFile, new { type = "file" })
@Html.ValidationMessageFor(model => model.ImageFile, "", new { @class = "text-danger" })
<br />
</div>
пример работы результата (как вы видите, «Файл» содержит информацию
пример результата, который не работает (здесь «Файл» имеет значение null) единственное изменение - это имя в модели View, либо мой пользовательский класс всегда равен NULL, а httpPostedFilewrapper не равен NULL ...
Я просмотрел несколько ссылок, где это обсуждается, но, возможно, я не понимаю или не знаю, как это относится ко мне.
C # MVC-производный класс HttpPostedFileBase имеет значение null
https://forums.asp.net/t/1981337.aspx?C+MVC+derived+class+of+HttpPostedFileBase+is+null
любая помощь будет принята с благодарностью
Моя конечная цель - переопределить saveAs (), чтобы удалить все пробелы и создать собственное более безопасное имя файла для изображений, размещаемых на сервере.
Мое решение в настоящее время работает, когда я храню свой файл изображения "httpPostedFileWrapper" отдельно от моего пользовательского класса "uploadedImage", где httppostedFileWrapper сохраняет изображение, а загруженный файл сохраняет информацию в базу данных (заголовок, имя файла и т. Д.). Я делаю ошибку и усложняю ее, пытаясь унаследовать от HttpPostedFileWrapper?