如何使用javascript在网络上显示原始图像数据?



我有一个用于图像文件的API端点,它总是发送原始数据。如何在网站上显示此图像数据?理想情况下,我想使用 img 标签或 css 背景图像属性而不是画布。

下面是一些可以使用的代码:

$.get({
url: '/some-image',
success: function(data) {
// Load raw image data somewhere and show it on webpage.
},
});

就我而言,我实际上使用的是一个名为 axios 的库,但我使用了一个 jquery 示例,因为我认为它会更广为人知。

为了清楚起见,我收到的数据如下所示:

����JFIF��� ( %!1!%)+...383-7(-.+ 
-------------+-------------+-+--+-----------+-----+���"����?!1AQa"q����2����R��Br�#b$4D�������%!1A2Q"Ca��?��]0`V�a����:T���E�R����$�jy$�6�GcP��Q��$�Fk,� ;D�������e�l��(GE��[c,���w�P�&�J1rz.mM��]��!���� �̺I�:.�[&o=~z�7Y�'#T �_�%��u+����rg�i��p��^�����c���[E�ʔ����)E���b x�=U!M���3��6�k8��R��0&<?K�Kn���pd+'��Vt��|l�Z���i1�Pic*R79�8 b]A<�ݿ��@mw} kBjѲٸ�Tm��m�+ǖ���G�jv&��D:Ƽ$sD2zf

将其下载为"blob" 将 blob 转换为 URL。然后将其指定为图像元素的源。

用于将 Blob 转换为 URL 的 APIcreateObjectUrl

如果您的 ajax 库不能干净地处理 blob(例如,fetch为您提供response.blob()(,请使用new Blob([data], "image/jpeg")或等效项从原始字节创建一个。

最新更新