简体   繁体   English

ASP.NET Core MVC将图像存储到数据库

[英]ASP.NET Core MVC storing image to database

I am start learning ASP.NET Core MVC and I have some doubts about storing image to database. 我开始学习ASP.NET Core MVC,并且对将图像存储到数据库有一些疑问。 So far, my code is here. 到目前为止,我的代码在这里。

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 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>

And in database i create a fild call it ImageURL which i past address where I store a image in folder directory and image folder save to C:\\Desktop\\LMS\\images\\emma.jpg 然后在数据库中创建一个fild,将其命名为ImageURL,我将过去的地址保存在文件夹目录中,并将图像文件夹保存到C:\\ Desktop \\ LMS \\ images \\ emma.jpg

Image 1 图片1

And when I run application I get picture like that 当我运行应用程序时,我得到这样的图片

Image 2 图片2

Any helps so far ? 到目前为止有什么帮助吗?

Index.cshtml 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>

The problem was with .css file inside a wwwrote file. 问题出在wwwrote文件中的.css文件。 I delete it and create again and It works. 我删除它并再次创建,它可以工作。 And insert images in wwwroot/images directory and it will works 并将图像插入wwwroot / images目录中,它将起作用

body {
    padding-top: 50px;
    padding-bottom: 20px;
}

/* Wrapping element */
/* Set some basic padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

/* Carousel */
.carousel-caption p {
    font-size: 20px;
    line-height: 1.4;
}

/* Make .svg files in the carousel display properly in older browsers */
.carousel-inner .item img[src$=".svg"] {
    width: 100%;
}

/* QR code generator */
#qrCode {
    margin: 15px;
}

/* Hide/rearrange for smaller screens */
@media screen and (max-width: 767px) {
    /* Hide captions */
    .carousel-caption {
        display: none;
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM