【问题标题】:Refining my previous "bytearray to image asp.net" question完善我之前的“bytearray to image asp.net”问题
【发布时间】:2010-12-16 23:26:03
【问题描述】:

在 aspx 页面中,您有一个 <image> 控件,等待“输入”图像。 在该页面的代码隐藏中,您有(它就在那里。它与如何无关 它到了那里)代表图像的字节数组。我希望图像控件(或您建议的任何替代方法)呈现该数组中表示的图片。如何?代码示例?

【问题讨论】:

  • 您可能想选择一个更合适的标题。

标签: asp.net


【解决方案1】:

您将字节数组写入磁盘或数据库。在图像控件的源代码中,您放置了一个 HTTP 处理程序(请参阅your "bytearray to image asp.net" question 的答案),其中包含一些查询字符串,其中包含允许您检索文件或数据库行的信息。

【讨论】:

  • 所以它必须始终是我“提供”到图像的链接?
  • 无法在页面中嵌入图片。浏览器将始终发送两个单独的请求。
【解决方案2】:

您可以使用canvas 标签,并使其跨浏览器,您可以查看excanvas 项目http://code.google.com/p/explorercanvas/

在此页面中,您可以查看有关通过 data: url 嵌入图像的部分,因为这可能是您要查找的内容。 https://developer.mozilla.org/En/Canvas_tutorial/Using_images

【讨论】:

  • 好主意。但是请注意,Internet Explorer en.wikipedia.org/wiki/Data:_URL
  • @Heinzi - 大多数 gif 应该低于 32k,但我试图展示一个替代方案,因为这似乎是需要的。它并不完美,但可能满足他的需求。
  • @James:当然,我明白这一点。 +1,顺便说一句,因为我完全忘记了 data:url。 :-)
【解决方案3】:

控件本身并不能真正呈现图像。控件通常会呈现插入到构成页面的 HTML 中的文本。

要从字节数组动态生成图像,您应该改用 HttpHandler。 Handler 可以简单地使用 Response.Write() 将字节写入输出流,然后将内容类型设置为适当的 MIME 类型。

您通常会根据传递给处理程序的查询字符串中的参数来决定创建哪个图像。

通用处理程序(.ashx 文件)是一种简单的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2010-10-28
    • 2013-03-11
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多