Convert.ToBase64String без исключения - PullRequest
0 голосов
/ 22 октября 2019

У меня есть рабочий метод для преобразования файла (image.jpeg) в byte [], а затем поместить массив в мою БД. Но поле допускает NULL, и в этом случае у меня есть исключение NullArgument с преобразованием null в изображение с использованием Convert.ToBase64String (item.Image). Что я должен сделать, чтобы избежать исключения и просто просматривать другие данные без изображения?

    public async Task<IActionResult> Create(PhonesView pv)
    {
        byte[] imageData = null;


        Phone phone = new Phone { Name = pv.Name, Company = pv.Company, Price = pv.Price};
        if (pv.Image != null)
        {


            using (var binaryReader = new System.IO.BinaryReader(pv.Image.OpenReadStream()))
            {
                imageData = binaryReader.ReadBytes((int)pv.Image.Length);
            }

            phone.Image = imageData;
        }
       /* else
        {

        }*/
        db.Add(phone);
        await db.SaveChangesAsync();

        return RedirectToAction("Index");
    }

Индекс одновременно:

       @foreach (var item in Model)
               {
                 <tr>
                 <td>
                   @Html.Raw("<img style='width:80px; height:60px;' src=\"data:image/jpeg;base64,"
                            + Convert.ToBase64String(item.Image) + "\" />")
                </td>
                <td>@item.Name</td>
                <td>@item.Company</td>
                <td>@item.Price</td>
                <td>

        <a asp-action="Delete" asp-controller="Home" asp-route-id="@item.Id">Delete</a>
        <a asp-action="Edit" asp-controller="Home" asp-route-id="@item.Id">Edit</a>
    </td>

</tr>

              }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...