将图像保存到sql数据库

时间:2013-02-20 19:17:44

标签: asp.net sql image

我目前正在尝试将图像写入数据库,但我见过和尝试的文章是代码行和行;这最终不起作用。

我只是想知道是否有人知道任何文章;或者如果有人能指出我正确的方向。

谢谢!

顺便说一句,我使用的是asp.net 4.0;我正在尝试写入一个sql数据库。

2 个答案:

答案 0 :(得分:0)

您需要将图像序列化为二进制格式,然后才能将其保存到数据库中。

如果您使用的是sql server,我发现这篇文章(他很好):

http://www.eggheadcafe.com/articles/20020929.asp

http://www.redmondpie.com/inserting-in-and-retrieving-image-from-sql-server-database-using-c/

非常简短的例子:

 MemoryStream ms = new MemoryStream();
 image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
 bool staus = _usersLogic.saveUserPicture(userID, ms.ToArray());

在这一行:

bool staus = _usersLogic.saveUserPicture(userID, ms.ToArray());

我发送UserID和图像为binary格式,以便在负责将用户图片保存到我的数据库的存储库中运行

这个ms.ToArray()是你需要保存在数据库中的东西

当您想从数据库中取回图片时,您应该使用:

imgUser.Src = "data:image/png;base64," + Convert.ToBase64String(_user.Picture);

答案 1 :(得分:0)

这篇ASPSnippets文章解决了将网页文件上传到SQL的问题(使用MP3,但对于任何文件都是相同的概念):

Save MP3 Audio Files to database and display in ASP.Net GridView with Play and Download option

在文章

中有多个屏幕截图/代码段