好了,你的邏輯應該是這樣的:
public class ImageController
{
[HttpGet]
public virtual ActionResult Show(int id)
{
var byteArray = YourDatabaseAdapter.LoadImage(id);
var mimeType = GetMimeType(fileName);
return base.File(byteArray, mimeType, fileName);
}
private static string GetMimeType(string fileName)
{
var mimeType = "application/unknown";
var extension = Path.GetExtension(fileName);
if (extension != null)
{
var ext = extension.ToUpperInvariant();
var regKey = Registry.ClassesRoot.OpenSubKey(ext);
if (regKey != null && regKey.GetValue("Content Type") != null)
{
mimeType = regKey.GetValue("Content Type").ToString();
}
}
return mimeType;
}
}
通用GetMimeType
功能基礎上,從Windows註冊表中採取的文件擴展名設置你的內容類型的HTTP標頭。
EDIT(HTML內容):
在傳遞的HTML代碼的內容的情況下,jQuery的.html();
上調用外部DIV與所述內容的HTML應該工作在the reference描述:
$('.user').popover({
html : true,
content: function() {
return $('#data-content-wrapper').html();
}
});
如果我正確理解你的問題,你想通過調用你顯示的動作在頁面上顯示圖像(存儲在數據庫中)? – jwaliszko
是的,@JaroslawWaliszko,因爲它是byte []圖片,我需要用動作來做到這一點。 – gormit