如何将png二进制数据放入img标签中并将其显示为图像?

2024-04-27

我正在用这个

        $.ajax({
            type: "GET",
            url: 'template/bump1/purse.png',
            datatype:"image/png",
            success: function (data) {


                var reader = new FileReader();

                reader.onload = function (e) {
                  var img = document.getElementById("CaptchaImg");
                  img.src = e.target.result;
                };
                reader.readAsDataURL(data);


                //$('#CaptchaImg').attr('src', data);
            }
         });

下载图像,它以二进制形式出现,如下所示

node.js 将其返回为

                        WriteHeaderMode('image/png', res, 200);
                        res.end(data, 'binary');

但现在,我如何将其放入图像标签并将其显示为图像。注:我do not想要以 Base64 编码返回数据,它必须是二进制的。不过,我可以在客户端将二进制文件转换为 base64。

当我将它传递给readAsDataURL, 它说TypeError例外。

Thanks

EDIT

                var img = document.getElementById("CaptchaImg");

                  var reader = new FileReader();

                  reader.onload = function(e) {
                      //img.src = e.target.result;
                      $("body").html(e.target.result);
                    };

                  reader.readAsDataURL(new Blob([data]));

这似乎将其转换为 base64 编码,其开头为data:application/octet-stream;base64,但不显示图像...


jQuery Ajax 不支持二进制响应(好吧,现在可以了 https://stackoverflow.com/questions/17657184/using-jquerys-ajax-method-to-retrieve-images-as-a-blob/17682424#17682424),有一个技巧,使用 overrideMimeType('text/plain; charset=x-user-defined') 将每个字节作为响应字符串中的字符返回,然后循环响应以创建数据的字节数组。

然而,对于裸露的 XMLHttpRequest,这可以通过使用 responseType 属性轻松完成。

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200){
        var img = document.getElementById("CaptchaImg");
        var url = window.URL || window.webkitURL;
        img.src = url.createObjectURL(this.response);
    }
}
xhr.open('GET', 'template/bump1/purse.png');
xhr.responseType = 'blob';
xhr.send(); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将png二进制数据放入img标签中并将其显示为图像? 的相关文章

随机推荐

  • 从一个组件访问另一个组件的方法

    我在 Angular 中 需要从另一个组件调用一个组件的方法 拥有这个组件 import Component OnInit Input from angular core Component selector app popover tem
  • Excel 单元格到文本框的超链接

    我正在尝试手动将超链接放入单元格中 指向文本框 网上搜索无果 在 添加超链接 对话框窗口中 我尝试在 单元格引用类型 窗口中写入文本框的名称 TextBox1 但得到 引用无效 在同一窗口的 定义名称 下也没有 TextBox1 我的两个问
  • 大量点的贝塞尔曲线近似

    我有大约一百个点 我想用贝塞尔曲线来近似 但如果超过 25 个点 或类似的点 组合数量的阶乘计数会导致数字溢出 有没有一种方法可以以类似贝塞尔曲线的方式近似如此数量的点 平滑曲线 无需经过所有点 除了第一个和最后一个点 或者我是否需要选择另
  • 使用 css 设计 ng-bootstrap 手风琴样式

    我有一个带有手风琴的 Angular 2 组件 我使用 ng bootstrap 添加了它 一切功能正常 但是我尝试使用加载的样式 card card header card block已编译的手风琴元素具有的类 这些样式根本不会应用于元素
  • Django - 通过对两个查询集进行排序来合并它们

    我有两个模型 我正在这样查询它们 firstq FirstModel objects order by addedtime secondq SecondModel objects order by addedtime 我想对它们进行合并和排
  • 如何保存和编辑电缆打印的内容?

    这是后续如何以最小的格式将数据框导出到乳胶 https stackoverflow com questions 45929263 how to export a dataframe to latex with some minimal fo
  • 在列表列表中查找匹配值

    我正在尝试迭代 python 2 7 5 中的列表列表 并返回在第二个列表中找到第一个值的列表 如下所示 python 2 7 5 list1 aa ab bb bc cc list2 aa 1 3 7 de 2 2 1 bc 3 4 4
  • ASP.NET MVC 5 中的 Actionfilter 注入

    我有一个简单的过滤器 public class IsAdmin ActionFilterAttribute IAuthenticationFilter private string roleName IBusinessIdentity id
  • Kubernetes Service 没有活动 Endpoint

    我创建了一个Deployment Service and an Ingress 不幸的是 ingress nginx controllerpod 抱怨我的Service没有活动端点 controller go 920 Service
  • 将默认的 InteractivePopGestureRecognizer 扩展到屏幕边缘之外?

    我有一个UIViewController被推送到导航堆栈上 我想扩展标准的 iOS7 交互式平移手势 以将此视图控制器弹出到默认值之外UIRectEdgeLeft边界 以便用户可以通过从视图上的任何位置平移来启动交互式后退操作 我尝试过滚动
  • 在主 chm 文件窗口中打开合并 chm 文件中的主题

    我想在主 chm 文件窗口中打开合并 chm 文件中的主题 我有应用程序帮助的主要 chm 文件 所以这个主 chm 文件包含子 chm 文件 我想通过调用 htmlhelp 函数在主 chm 文件的窗口中打开子 合并 chm 文件中的主题
  • 如何以编程方式配置 Jersey 以使用 Jackson 进行 JSON(反)序列化?

    我将 Jersey 与 Grizzly 一起使用来创建 JSON Web 服务 我将其初始化如下 final ResourceConfig rc new PackagesResourceConfig amplify api resource
  • Phing,调用命令将其输出放入属性中

    我有一个脚本可以查找并输出或将我当前的版本 写入文本文件 现在唯一的问题是如何将此版本号放入 PHING 属性中 现在我的 PHING 目标构建 build zip 和built tar 我希望它构建 build 1 0 0 zip 或版本
  • Android:ViewFlipper动画

    我添加了一个 ViewFlipper 其中有 2 个线性布局 并且我制作了一个动画 xml left in xml
  • 可以分配给一个 Heroku 应用程序的最大域名数量?

    我正在与一位客户讨论一个项目 该客户希望他的用户可以通过自己的域名访问该应用程序 如果他们选择的话 可以分配给一个 Heroku 应用程序的自定义域数量是否有限制 The Heroku 文档 https devcenter heroku c
  • 使用故事板视图控制器创建编程选项卡栏?

    我有一个以编程方式创建的选项卡栏 并且在初始化与视图关联的故事板时遇到困难 我能够在没有故事板的情况下在选项卡栏中成功加载视图 请参阅下面的代码 但视图仅部分显示 因为某些 UI 组件位于故事板中 我的故事板的名称是 Main Storyb
  • matplotlib 中的自定义对数轴缩放

    我正在尝试使用 math log 1 x 来缩放绘图的 x 轴 而不是通常的 log 缩放选项 并且我已经查看了一些自定义缩放示例 但我无法得到我的上班 这是我的 MWE import matplotlib pyplot as plt im
  • 升级到 NHibernate 3.1 时 NHibernate 映射中断

    我最近刚刚升级到 FluentNHibernate 1 2 它使用 NHibernate 3 1 升级后 我的一些旧映射无法正常工作 我一直很难弄清楚为什么 我想也许这里有人可以提供帮助 我有 3 个课程 练习 练习和练习练习 一个练习可以
  • Java用Rhino调用JS(未定义Uint8Array)

    我正在尝试使用 Rhino 库从 java 代码调用一些 javascript 但它似乎对类型化数组感到窒息 这是我的简单js文件 function decrypt version iv encryptedBuffer var output
  • 如何将png二进制数据放入img标签中并将其显示为图像?

    我正在用这个 ajax type GET url template bump1 purse png datatype image png success function data var reader new FileReader rea