【发布时间】:2018-09-25 22:40:23
【问题描述】:
我开始学习 ASP.NET Core MVC,我对将图像存储到数据库有一些疑问。 到目前为止,我的代码就在这里。
DetailModel
using LibaryData.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace LibaryManagmentSystems.Models.Catalog
{
public class AssetDetailModel
{
public int AssetID { get; set; }
public string Title { get; set; }
public string AuthorOrDirector { get; set; }
public string Type { get; set; }
public int Year { get; set; }
public string ISBN { get; set; }
public string DeweyCallNumber { get; set; }
public string Status { get; set; }
public decimal Cost { get; set; }
public string CurrentLocation { get; set; }
public string ImageURL { get; set; }
public int PatronName { get; set; }
public Checkout LatestChechout { get; set; }
public IEnumerable<CheckoutHistory> CheckoutHistory { get; set; }
public IEnumerable<AssetHoldModel> CurrentHolds { get; set; }
}
public class AssetHoldModel
{
public string PatronName { get; set; }
public string HoldPlace { get; set; }
}
}
Detail.cshtml
@model LibaryManagmentSystems.Models.Catalog.AssetDetailModel
<div class ="container">
<div class="page-header clearfix detailHeading"></div>
<h2 class="text-muted">View Libary Item </h2>
</div>
<div class="jumbotron">
<div class="row">
<div class="col-md-4">
<div>
<img class="detailImage" src="@Model.ImageURL" />
</div>
</div>
<div class="col-md-4">
<div>
<p id="itemTitle">@Model.Title</p>
<p id="itemAuthor">@Model.AuthorOrDirector</p>
<p id="itemStatus">@Model.Status</p>
<p id="itemType">@Model.Type</p>
<p id="itemLocation">@Model.CurrentLocation</p>
@if (Model.Status == "Lost")
{
<p>This item has been lost. It cannot be checked out</p>
<p><a class="btn btn-lg btn-danger" role="button" asp-controller="Catalog" asp-action="MarkFound" asp-route-id="@Model.AssetID">Mark Item Found</a></p>
}
@if (Model.Status == "Checked OUt")
{
<p id="itemPatron">Checked Out by: @Model.PatronName</p>
<p><a class="btn btn-lg btn-success" role="button" asp-controller="Catalog" asp-action="CheckIn" asp-route-id="@Model.AssetID">Check In</a></p>
<p><a class="btn btn-lg btn-warning" role="button" asp-controller="Catalog" asp-action="Hold" asp-route-id="@Model.AssetID">Place Hold</a></p>
}
@if (Model.Status == "Available")
{
<p><a class="btn btn-lg btn-info" role="button" asp-controller="Catalog" asp-action="Checkout" asp-route-id="@Model.AssetID">Check Out</a></p>
}
</div>
<div class="col-md-4 detailInfo">
<table>
<tr>
<td class="itemLabel">ISBN:</td>
<td class="itemValue">@Model.ISBN</td>
</tr>
<tr>
<td class="itemLabel">Call Number:</td>
<td class="itemValue">@Model.DeweyCallNumber</td>
</tr>
<tr>
<td class="itemLabel">Replacement Cost:</td>
<td class="itemValue">@Model.Cost</td>
</tr>
</table>
</div>
</div>
</div>
</div>
在数据库中,我创建了一个名为 ImageURL 的字段,我通过该地址将图像存储在文件夹目录中,并将图像文件夹保存到 C:\Desktop\LMS\images\emma.jpg
当我运行应用程序时,我会得到这样的图片
到目前为止有什么帮助吗?
Index.cshtml
@model LibaryManagmentSystems.Models.Catalog.AssetIndexModel
<div id="assets">
<h3>Libary Catalog</h3>
<div id="assetsTable">
<table class="table table-condensed" id="catalogIndexTable">
<thead>
<tr>
<th>Image</th>
<th>Title</th>
<th>Author / Director</th>
<th>Dew Call Number</th>
</tr>
</thead>
<tbody>
@foreach (var asset in Model.Assets)
{
<tr class="assetRow">
<td class="">
<a asp-controller="Catalog" asp-action="Detail" asp-route-id="@asset.Id">
<img src="@asset.ImageUrl" class="imageCell" />
</a>
</td>
<td class="">@asset.Title</td>
<td class="">@asset.AuthorOrDirector</td>
<td class="">@asset.DeweyCallNumber</td>
</tr>
}
</tbody>
</table>
</div>
</div>
【问题讨论】:
-
复制图片文件夹到你应用的根目录
-
我做了,又是同样的问题
-
检查“@Model.ImageURL”在浏览器中呈现的“url”的值
-
直接在此处发布您的错误或图片,而不是链接
-
加载资源失败:服务器响应状态为404(未找到)
标签: mysql asp.net image asp.net-core-mvc store