Уважаемые,
Нужно сделать такую вещь. Есть файл, в котором хранятся некие картинки (BMP), их количество заранее неизвестно, может быть одна, может быть две или больше картинок. Когда открывается страница, то эти картинки все показываются пользователю.
нужно чтобы у каждой картинки была возможность изменить ее, чтобы пользователь мог выбрать другие, дизайн примерный я показываю на картинке. То есть у каждой фото есть кнопка по нажатию на которую пользователь мог выбрать бы новый файл, потом когда он выберет, то желательно чтобы картинка динамически обновилась.. и потом когда пользователь сделает Save то эти картинки бы передались в модели на сервер и сервер уже их обновит в файле..
Как это сделать?
Загрузить несколько картинок ASP.NET MVC 5
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Загрузить несколько картинок ASP.NET MVC 5
You do not have the required permissions to view the files attached to this post.
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
Re: Загрузить несколько картинок ASP.NET MVC 5
А в чем конкретно загвоздка?
-
- Уже с Приветом
- Posts: 15770
- Joined: 01 Mar 2008 15:14
Re: Загрузить несколько картинок ASP.NET MVC 5
Звучит как заявка на сайте фрилансеров ) Вы исполнителей ищите или что?
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Загрузить несколько картинок ASP.NET MVC 5
Загвоздка как правильно передать эти картинки через модель обратно в контроллер.
Как обновлять изображения на странице я уже нашел, через onchange event в <input type="file" onchange="HandleChange....>
А вот как их в модель правильно засунуть?
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Загрузить несколько картинок ASP.NET MVC 5
ну это я видел. Дело в том, что помимо изображений на странице находятся другие данные. которые я передаю в модели. Картинки это только часть. То есть сейчас модель примерно так выглядит:KVA wrote: ↑18 Dec 2018 18:37 Google -> second link from top.
https://www.mikesdotnetting.com/article ... sp-net-mvc
Code: Select all
public class TransactionEditModel
{
public TransactionEditModel()
{
FieldGroups = new List<EditFieldGroupModel>();
Photos = new List<PhotographImage>();
}
public int TransactionId { get; set; }
public List<EditFieldGroupModel> FieldGroups { get; set; }
public List<PhotographImage> Photos { get; set; }
public string HeightFeetSelectedValue { get; set; }
public string HeightInchesSelectedValue { get; set; }
public bool MaskSocialSecurity { get; set; }
public string Tcn { get; set; }
public string PagingInfo { get; set; }
}
-
- Уже с Приветом
- Posts: 5347
- Joined: 03 Feb 1999 10:01
- Location: NJ, USA
Re: Загрузить несколько картинок ASP.NET MVC 5
How about this?
public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files, TransactionEditModel model)
And then copy files to your model.
public ActionResult Multiple(IEnumerable<HttpPostedFileBase> files, TransactionEditModel model)
And then copy files to your model.
-
- Уже с Приветом
- Posts: 9392
- Joined: 18 Mar 2004 15:11
- Location: New York -> FL
Re: Загрузить несколько картинок ASP.NET MVC 5
Разобрался вроде.. нужно чтобы <input type="file> контролы имели такой же name аттрибут как и имя свойства в модели. То есть в моем случае надо всем <input type="file" прибавить name="files"
тогда model binder все присвоит правильно..
то есть модель теперь выглядит как
и на странице несколько контролов
тогда model binder все присвоит правильно..
то есть модель теперь выглядит как
Code: Select all
public class TransactionEditModel
{
public TransactionEditModel()
{
FieldGroups = new List<EditFieldGroupModel>();
Photos = new List<PhotographImage>();
UploadedPhotos = new List<HttpPostedFileBase>();
}
public int TransactionId { get; set; }
public List<EditFieldGroupModel> FieldGroups { get; set; }
public List<PhotographImage> Photos { get; set; }
[b]public IEnumerable<HttpPostedFileBase> UploadedPhotos { get; set; }[/b]
public string HeightFeetSelectedValue { get; set; }
public string HeightInchesSelectedValue { get; set; }
public bool MaskSocialSecurity { get; set; }
public string Tcn { get; set; }
public string PagingInfo { get; set; }
}
Code: Select all
<input type="file" name="UploadedPhotos" />