当前位置:首页 > JavaScript

js实现二进制流转图片

2026-04-05 04:15:40JavaScript

二进制流转图片的方法

使用Blob和URL.createObjectURL

将二进制流转换为Blob对象,再通过URL.createObjectURL生成临时URL

js实现二进制流转图片

const binaryData = new Uint8Array([...]); // 二进制数据
const blob = new Blob([binaryData], {type: 'image/jpeg'});
const imageUrl = URL.createObjectURL(blob);

const img = document.createElement('img');
img.src = imageUrl;
document.body.appendChild(img);

// 使用后记得释放内存
URL.revokeObjectURL(imageUrl);

使用Base64编码

将二进制数据转换为Base64字符串直接作为图片源

js实现二进制流转图片

const binaryData = new Uint8Array([...]);
const base64String = btoa(String.fromCharCode(...binaryData));
const img = document.createElement('img');
img.src = `data:image/jpeg;base64,${base64String}`;
document.body.appendChild(img);

使用FileReader API

通过FileReader读取Blob对象并转换为DataURL

const binaryData = new Uint8Array([...]);
const blob = new Blob([binaryData], {type: 'image/png'});
const reader = new FileReader();

reader.onload = function(e) {
    const img = document.createElement('img');
    img.src = e.target.result;
    document.body.appendChild(img);
};
reader.readAsDataURL(blob);

注意事项

  • 确保二进制数据是有效的图片格式
  • 根据实际图片类型设置正确的MIME类型
  • 大文件处理时考虑内存释放问题
  • 跨域情况下可能需要额外处理CORS

性能优化建议

对于大尺寸图片建议使用Blob URL方式 Base64编码会增加约33%的数据体积 Web Worker可用于处理大型二进制数据转换

标签: 图片js
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

css网页制作漂浮图片

css网页制作漂浮图片

使用CSS实现漂浮图片效果 通过CSS的animation属性和@keyframes规则可以轻松实现图片漂浮效果。以下是几种常见实现方式: 基础漂浮动画 通过关键帧定义图片的垂直移动,模拟漂浮感:…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…