我目前正在尝试将图像写入数据库,但是我看过和尝试过的文章是一行又一行的代码;这到底是行不通的。
我只是想知道是否有人知道任何文章;或者如果有人能指出我正确的方向。
谢谢!
顺便说一句,我使用的是 asp.net 4.0;并且正在尝试写入 sql 数据库。
这篇 ASPSnippets 文章解决了将网页文件上传到 SQL 的问题(使用 MP3,但任何文件的概念都相同):
将 MP3 音频文件保存到数据库并在带有播放和下载选项的 ASP.Net GridView 中显示
文章中有多个截图/代码片段
您需要将图像序列化为二进制格式,然后将其保存到数据库中。
如果您使用的是 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);