【问题标题】:How display any type of images in asp.net?如何在 asp.net 中显示任何类型的图像?
【发布时间】:2016-09-04 22:56:40
【问题描述】:

如何显示不同格式的图片?

我试过这个。

context.Response.ContentType = "image/jpeg";  

这将只显示jpeg 图像。但我需要显示不同格式的图像。

【问题讨论】:

  • 到目前为止你尝试过什么?当您说显示时,您是指在应用程序中,用于网络吗?在印刷中?
  • 为什么不使用html代码显示图片?
  • 试试this
  • 这个问题太笼统了——你知道存在多少种不同的图像格式吗?你喜欢展示多少个?浏览器可以显示多少种格式?知道 ?你问的是一个完整的项目,你需要定义需求
  • @JanR:我用 c# 和 sql 在 asp.net 上做一个工作。为了从数据库中检索图像,我使用了通用处理程序。如何修改我提到的代码以显示 PNG 和 jpeg 等图像。上面的代码只能用于 jpeg。

标签: c# asp.net


【解决方案1】:

编辑: 我从 cmets 了解到您的问题是:

如何将 ASP.Net 图像的 src 设置为 base64 编码数据? 要么 如何在asp.net图像中以不同格式显示来自数据库的图像?

假设您从数据库中获取图像字节并且您有一个 img 标签

<img id= "img" runat= "server" />

你可以像这样为 byte[] 创建一个扩展方法

// Add a new csharp file to your project
// Add below code to it
public static class DrawingExtensions
{
    public static string ConvertToBase64ImageFormat ( this byte[] b, ImageFormats f)
    {
            // you can find other formats image mimeType and add all you need
           string mt = system.Net.Mime.MediaTypeNames.Image.Tiff;
           string i = Convert.ToBase64String(b);
           return string.Format("data:{0};base64,{1}",mt,i);
    }
}
public enum  ImageFormats
{
     Jpeg
     Png ,
     // And other formats
}

在你的webform页面上使用这样的方法

public partial class DisplayImagePage:Page
{
    public void ibDisplayImg_click(object sender,EventArgs e)
    {
        // read image bytes from database
        Byte[] i= ReadImageFromDatabase();
        img.Src = i.ConvertToBase64ImageFormat(  ImageFormats.Png);
    }
}

如果您想要其他类型的图像的 mime 类型,他们可以使用

 System.Web.MimeMapping

并像这样使用

string mimeType = MimeMapping.GetMimeMapping(fileName);
context.Response.ContentType = mimeType;

更多信息:

https://msdn.microsoft.com/en-us/library/ms525208(v=vs.90).aspx

https://msdn.microsoft.com/en-us/library/system.web.mimemapping.getmimemapping.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 2019-02-20
    • 2012-09-25
    相关资源
    最近更新 更多