我目前正在尝试将图像写入数据库,但我见过和尝试的文章是代码行和行;这最终不起作用。
我只是想知道是否有人知道任何文章;或者如果有人能指出我正确的方向。
谢谢!
顺便说一句,我使用的是asp.net 4.0;我正在尝试写入一个sql数据库。
答案 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
在文章
中有多个屏幕截图/代码段