преобразование изображения в байт [] asp.net mvc - PullRequest
0 голосов
/ 19 октября 2018

Мне нужно сохранить изображение в моей базе данных в byte[]

Я отправляю изображение с Javascript на mvc controller, используя ajax

В моем JavaScript

var files = $("#MyImage").get(0).files;
formData.append('files', files);

в моем контроллере MVC

using (var binaryReader = new BinaryReader(Request.Files[0].InputStream))
{
        fileData = binaryReader.ReadBytes(Request.Files[0].ContentLength);
}

Это правильный способ сохранить изображение или я делаю это неправильно?

, пожалуйста, предложите

1 Ответ

0 голосов
/ 19 октября 2018

Вы можете опубликовать HttpPostedFileBase на своей бритве.

if (upload != null)
{
    using (var inputStream = upload.InputStream)
    {
        var memoryStream = inputStream as MemoryStream;
        if (memoryStream == null)
        {
            memoryStream = new MemoryStream();
            inputStream.CopyTo(memoryStream);
        }
        var data = memoryStream.ToArray();
}

Подпись метода должна быть такой

[HttpPost]
public ActionResult Foo(HttpPostedFileBase upload)
{
}

И ваша сторона бритвы:

@using (Html.BeginForm("Foo", "ControllerName", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{

}
...