I want to show Components in a tabs , so first of all create few components. In this project we have three components, First View Component public class AllViewComponent : ViewComponent { private readonly UserManager<ApplicationUser> _userManager; public AllViewComponent(UserManager<ApplicationUser> userManager) { _userManager = userManager; } public async Task<IViewComponentResult> InvokeAsync() { List<StudentViewModel> allUsers = new List<StudentViewModel>(); var items = await _userManager.Users.ToListAsync(); foreach (var item in items) { allUsers.Add(new StudentViewModel {Id=item.Id, EnrollmentNo = item.EnrollmentNo, FatherName = item.FatherName, Name = item.Name, Age = item.Age, Birthdate = item.Birthdate, Address = item.Address, Gender = item.Gender, Email = item.Email }); }
According to my previous article, Which is written in web form. If you are a web form user then try this article. In this article i will show you, How to save image file into database table using ASP.NET MVC, also retrieve image from table to ASP.NET MVC Application. You know that image file saved in the form binary array. So, First to create a table, in which you can take varbinary(max) type field. I will give you an example of simple table.
CREATE TABLE [dbo].[Brand] (
[BrandId] INT IDENTITY (1, 1) NOT NULL,
[BrandImage] VARBINARY (MAX) NULL,
PRIMARY KEY CLUSTERED ([BrandId] ASC)
);
@using (Html.BeginForm("AddImage", "Home", FormMethod.Post, new {enctype="multipart/form-data"}))
Show Image using controller file
CREATE TABLE [dbo].[Brand] (
[BrandId] INT IDENTITY (1, 1) NOT NULL,
[BrandImage] VARBINARY (MAX) NULL,
PRIMARY KEY CLUSTERED ([BrandId] ASC)
);
Now, Add a EDMX file to prepare a DataContext as well as model. Now, open a HomeController.cs file to write the code for save file. In this file first to pass model in the view. Add a file control in the view file.
@using (Html.BeginForm("AddImage", "Home", FormMethod.Post, new {enctype="multipart/form-data"}))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Brand</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.BrandImage, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<input type="file" id="image1" name="image1"/>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Submit" class="btn btn-default" />
</div>
</div>
</div>
}
Save file using controller file
public ActionResult AddImage(Brand model, HttpPostedFileBase image1)
{
var db = new Database1Entities3();
if (image1!=null)
{
model.BrandImage = new byte[image1.ContentLength];
image1.InputStream.Read(model.BrandImage, 0, image1.ContentLength);
}
db.Brands.Add(model);
db.SaveChanges();
return View(model);
}
Show Image using controller file
public ActionResult ShowImage()
{
Database1Entities3 db = new Database1Entities3();
var item = (from d in db.Brands
select d).ToList();
return View(item);
}
ShowImage View section
@model IEnumerable<WebApplication1.Brand>
@{
ViewBag.Title = "ShowImage";
}
<h2>ShowImage</h2>
<table>
<tr>
@foreach (var item in Model)
{
<td>
@{
var base64 = Convert.ToBase64String(item.BrandImage);
var imgSrc = String.Format("data:image/gif;base64,{0}", base64);
}
<img src='@imgSrc' style="max-width:100px; max-height:100px;" />
</td>
}
</tr>
</table>
Comments
Post a Comment