我在我的數據庫中有一個表,其中一列是圖像數據類型。我可以將Image存儲在數據庫中,但無法檢索它。我想爲每個登錄用戶檢索圖像。我用這個代碼:如何檢索asp.net mvc3中的sql數據庫中存儲的圖像?
public ActionResult ShowImage()
{
var userID = GetUserID();
var advert = from ad in StoreDb.Ads where ad.UserId == userID select ad.AdImage;
return File(advert, "Image");
}
但得到這個錯誤:
Error 2 Argument 1: cannot convert from 'System.Linq.IQueryable' to 'string' C:\Users\Tena\Documents\Visual Studio 2010\Projects\MvcApplication6\MvcApplication6\Controllers\Default3Controller.cs 92 25 MvcApplication6
的問題是,廣告是
System.Linq.IQueryable<>byte[]
格式,但文件需要byte[]
格式。我現在應該怎麼做?任何答案都有幫助。
謝謝
非常感謝。是的,這是我的錯。有多個用戶的圖像,當我從數據庫中刪除它時,它完美無缺。 – starrr
有沒有更好的方法來做到這一點? – starrr
除了製作一個通用文件檢索函數,它需要一個ID並獲取文件之外,你的方法實際上看起來很好。我在我的MVC項目中有這樣的代碼:'返回文件(file.ImageData,file.MimeType);'給你的控制器提供更有意義的名字可能是有幫助的(錯誤消息包含對'Default3Controller.cs'的引用)。 –