【问题标题】:How to Process a Byte Array Image in Javascript Produced by ASP.NET Response.BinaryWrite如何在 ASP.NET Response.BinaryWrite 生成的 Javascript 中处理字节数组图像
【发布时间】:2013-12-28 01:23:49
【问题描述】:

我正在尝试使用由另一个团队拥有并且我无法轻易更改的服务器端代码。它正在处理图像并通过 Response.BinaryWrite 返回它:

MemoryStream ms = new MemoryStream();
image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
var imageToReturn = ms.ToArray();

Response.ContentType = "image/jpg";
Response.BinaryWrite(imageToReturn);

但是,当我尝试对结果进行标准客户端处理时,例如使用 Javascript 的 btoa() 将其从字节数组转换为 ArrayBuffer,我收到类似“'btoa' failed: The string to be编码包含 Latin1 范围之外的字符”。

我真的只是希望能够显示和使用这张图片 - 所以任何可以让它出现在画布中或将其转换为数据 URL 等的方法都会帮助我。我错过了什么吗?

【问题讨论】:

    标签: javascript asp.net image


    【解决方案1】:

    如果你只是想显示图片,为什么不把img标签的src属性加到ASP.Net页面的url上,在响应中写的是JPG。

    如果你想在画布中显示图像,你可以按照以下方式进行

    myimage = new Image();
    myimage.onload = function () {
        var canvas = document.getElementById('canv');
        var ctx = canvas.getContext('2d');
    
        ctx.drawImage(myimage, x, y);
    }
    myimage.src = '<url to the asp.net page>';
    

    【讨论】:

      猜你喜欢
      • 2020-02-08
      • 2018-06-25
      • 2021-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 1970-01-01
      • 2020-04-14
      相关资源
      最近更新 更多