Store file in SQL Server database using .Net MVC3 with Entity Framework
我想在SQL Server中存储和检索文件。
我的基础设施是:
- SQL Server 2008
- 带有实体框架的C.NET MVC3。
请帮助我了解必须在SQL Server和C文件中使用的数据类型。如果可能,在不刷新页面的情况下存储文件,这将更接近我的要求。
谢谢。
这里有一些"示例代码";)我省略了大量声明、验证等,因此代码不会按原样运行,但是您应该能够理解这个想法。如果不想刷新页面,请使用Ajax类型的请求提交文件表单。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | // 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"); } } |
SQL数据类型为image
这是一篇很好的文章,介绍了如何做到这一点。
http://www.hanselman.com/blog/abacktobasicbasestudyimplementinghttpfileuploadwithaspnetmvcludingtestsandmocks.aspx
祝你好运。