嗨,我正在尝试显示数据库中的图像,我将图像保存在数据库中,但是没有显示任何内容,我该如何在我的代码中修复此问题
这是我的模型视图
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Web;
namespace Archive.Models
{
public class Inbox
{
[Key]
public int Id { get; set; }
public IEnumerable<HttpPostedFileBase> Files { get; set; }
public ApplicationUser User { get; set; }
public object UserId { get; internal set; }
}
}
以及此处的详细信息
namespace Archive.Models
{
public class AllFiles
{
public int Id { get; set; }
public string ContentType{ get; set; }
public byte[] Imagebytes { get; set; }
}
}
此处是我的转化
using System.Web;
using System.IO;
namespace FileUpload.Service
{
public class FileUploadService
{
// GET: AllFiles
public void saveFileDetails(HttpPostedFileBase file)
{
AllFiles newfile = new AllFiles();
newfile.ContentType = file.ContentType;
newfile.Imagebytes = ConvertToBytes(file);
ApplicationDbContext db = new ApplicationDbContext();
{
db.AllFiless.Add(newfile);
db.SaveChanges();
}
}
public byte[] ConvertToBytes(HttpPostedFileBase file)
{
byte[] imagebytes = null;
BinaryReader reader = new BinaryReader(file.InputStream);
imagebytes = reader.ReadBytes((int)file.ContentLength);
return imagebytes;
}
}
}
这是我的控制器
public async Task<ActionResult> Create(Inbox model)
{
var currentUser = await manager.FindByIdAsync(User.Identity.GetUserId());
if (ModelState.IsValid)
{
model.User = currentUser;
FileUploadService service = new FileUploadService();
foreach (var item in model.Files)
{
service.saveFileDetails(item);
}
var max = new Inbox();
db.Inboxs.Add(model);
db.SaveChanges();
string url = Url.Action("List");
return Json(new { success = true, url = url });
}
return View(model);
}
这是我的查看详细信息
@foreach(var image in Model)
{
var base64 = Convert.ToBase64String(image.Files);
var imgSrc = String.Format("data:{0};base64,{1}",image.ContentType ,base64);
<img src="@imgSrc"/>
}
我正在尝试在此处显示图像,但没有显示出什么问题,请大家,我在这里很努力地尝试,但是我没有得到images
这样保存在数据库中的图像 here