好的,所以你的逻辑应该是这样的:
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 标头中设置您的内容类型。
编辑(用于 html 内容):
在将 html 代码传递给内容的情况下,.html();
使用内容 html 在外部 div 上调用的 jQuery 应该按照参考中的描述工作:
$('.user').popover({
html : true,
content: function() {
return $('#data-content-wrapper').html();
}
});