Загрузка нескольких картинок в БД ASP.NET

324
21 июля 2017, 01:01

Так выглядит input:

<input type="file" name="uploadImage" min = "1" max = "9999" multiple = "true" />

Вот контроллер:

[HttpPost]
public ActionResult UploadImageTest(BLL.Model.ImageViewModelItem item)
{
    HttpPostedFileBase images = Request.Files["uploadImage"];
    BLL.Providers.ImageDbProvider imgDbProv = new BLL.Providers.ImageDbProvider();
    if (ModelState.IsValid && item != null)
    {
        byte[] imageData = null;
        using (var binaryReader = new BinaryReader(images.InputStream))
        {
            imageData = binaryReader.ReadBytes(images.ContentLength);
            item.ImageItem = imageData;
        }
    }
    imgDbProv.Add(item);
    return RedirectToAction("ImagesTest");
}

Когда я выбираю несколько картинок и отправляю их в input, передается только одна картинка (первая). Как передавать несколько картинок сразу?

Answer 1

Ну вы и работаете с одним файлом. Пример для вдохновения:

private AttachmentData[] GetPostedAttachments()
{
    var attachments = new List<AttachmentData>();
    for (var i = 0; i < this.Request.Files.Count; i++)
    {
        var file = this.Request.Files[i];
        if (string.IsNullOrEmpty(file?.FileName))
            continue;
        var ms = new MemoryStream();
        using (var s = file.InputStream)
            s.CopyTo(ms);
        var attach = new AttachmentData
        {
            FileName = file.FileName,
            ContentType = file.ContentType,
            Content = ms.ToArray()
        };
        attachments.Add(attach);
    }
    return attachments.ToArray();
}

где:

public class AttachmentData
{
    public string FileName { get; set; }
    public string ContentType { get; set; }
    public byte[] Content { get; set; }
}
READ ALSO
Ajax запрос в контролер при смене выбора в DropDownList

Ajax запрос в контролер при смене выбора в DropDownList

привет есть ajax запрос на jquery

243
Общий член для наследуемых классов

Общий член для наследуемых классов

Имеется абстрактный (базовый) класс (для примера):

197
Работа с реляционной БД ASP.NET

Работа с реляционной БД ASP.NET

Есть два таблицы: таблица новостей и таблица картинокВ таблице картинок есть поле NewsId которое связано с Id новостей

313
Оптимизировать код c#

Оптимизировать код c#

Добрый день, нужна ваша помощь в оптимизации кодаЗадача : зашифровать часть байтов в файле алгоритмом aes c# Как я сделал:

238