使用。NET MVC3与实体框架在SQL Server数据库中存储文件(Store file in

2019-08-17 02:20发布

我想存储和检索文件到/从SQL Server。

我的基础设施:

  • SQL Server 2008中
  • C#.NET MVC3与实体框架。

请帮助我,我要SQL Server和C#的文件上使用的数据类型。 如果可能的话来存储文件,而无需刷新,这将是更接近我的要求的页面。

谢谢。

Answer 1:

下面是一些“示例代码”;)我省略一堆声明,验证等这样的代码不会作为运行的,但你应该能明白我的意思。 使用AJAX类型的请求提交你的文件格式,如果你不想刷新页面。

// model
public class UploadedImage
{
    public int UploadedImageID { get; set; }
    public string ContentType { get; set; }
    public byte[] File { get; set; }
}

// controller
public ActionResult Create()
{
    HttpPostedFileBase file = Request.Files["ImageFile"];

    if (file.ContentLength != 0)
    {
        UploadedImage img = new UploadedImage();
        img.ContentType = file.ContentType;
        img.File = new byte[file.ContentLength];

        file.InputStream.Read(img.File, 0, file.ContentLength);

        db.UploadedImages.Add(img);
        db.SaveChanges();
    }

    return View();
}

ActionResult Show(int id) 
{
    var image = db.UploadedImages.Find(id);
    if (image != null)
    {
        return File(image.File, image.ContentType, "filename goes here");
    }
}


Answer 2:

SQL数据类型是图像

这里是告诉你如何做一个很好的文章。

http://www.hanselman.com/blog/ABackToBasicsCaseStudyImplementingHTTPFileUploadWithASPNETMVCIncludingTestsAndMocks.aspx

祝好运。



文章来源: Store file in SQL Server database using .Net MVC3 with Entity Framework