Ядро ASP.net не показывает загруженное изображение - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь загрузить картинку, которая была загружена в путь wwwroot. Затем я сохраняю путь к файлу в базе данных и извлекаю его, чтобы показать его в моем представлении.

Сохраненный файл: https://pasteboard.co/IeMBH07.png

Путь к файлу, который отображается в ViewBag.Photo: "C: \ Users \ Me \ source \ repos \ Trinity SOLID \ Trinity \ wwwroot \ Billie.jpg"

Путь к файлу в представлении Img src: C: \ Users \ Me \ source \ repos \ Trinity SOLID \ Trinity \ wwwroot \ Billie.jpg

View

<h1>match</h1>

<img src="@ViewBag.Photo" alt="Profile" />
<br />

Контроллер

public ActionResult LoadPotentialMatch()
        {
            string stringID = Request.Cookies["UserID"];
            int ID = Convert.ToInt32(stringID);
            logicmatch.TrulyPotentialMatchesList(ID);

            string value = Convert.ToString(logicmatch.pmatchID);
            SetCookie("pmatchID", value, 10);

            ViewBag.FirstName = logicmatch.FirstName;
            ViewBag.Age = logicmatch.Age;
            ViewBag.Bio = logicmatch.Bio;
            ViewBag.Sex = logicmatch.Sex;
            ViewBag.Photo = logicmatch.Photo;
            return View("match", "Matching");
        }

1 Ответ

0 голосов
/ 15 мая 2019
Write your Create POST method as follows:

[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(Item item,IFormFile image)
{
    if (ModelState.IsValid)
    {
        if (image != null && image.Length > 0)
        {
            var fileName = Path.GetFileName(image.FileName);
            var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\images\\items", fileName);
            using (var fileSteam = new FileStream(filePath, FileMode.Create))
            {
                await image.CopyToAsync(fileSteam);
            }
            item.Image = fileName;
        }

        _context.Add(item);
        await _context.SaveChangesAsync();
        return RedirectToAction(nameof(Index));
    }
    return View(item);
}

Then for displaying the image in the table:

<td>
    <img class="img-responsive" src="@Url.Content("~/images/items/" + @item.Image)" alt="">
</td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...