首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将javascript文件或blob编码和解码为base64

要将 JavaScript 文件或 Blob 对象编码为 Base64,以及将 Base64 编码解码回 JavaScript 文件或 Blob 对象,可以使用以下方法

  1. 将 JavaScript 文件或 Blob 对象编码为 Base64:
代码语言:javascript
复制
function fileToBase64(file) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.readAsDataURL(file);
    reader.onload = () => resolve(reader.result.split(',')[1]);
    reader.onerror = error => reject(error);
  });
}

// 使用方法
const inputElement = document.getElementById('fileInput');
inputElement.addEventListener('change', async (event) => {
  const file = event.target.files[0];
  const base64 = await fileToBase64(file);
  console.log('Base64 编码:', base64);
});
  1. 将 Base64 编码解码回 JavaScript 文件或 Blob 对象:
代码语言:javascript
复制
function base64ToFile(base64, mimeType) {
  const byteCharacters = atob(base64);
  const byteArrays = [];

  for (let offset = 0; offset < byteCharacters.length; offset += 512) {
    const slice = byteCharacters.slice(offset, offset + 512);
    const byteNumbers = new Array(slice.length);
    
    for (let i = 0; i < slice.length; i++) {
      byteNumbers[i] = slice.charCodeAt(i);
    }
    
    const byteArray = new Uint8Array(byteNumbers);
    byteArrays.push(byteArray);
  }

  return new Blob(byteArrays, { type: mimeType });
}

// 使用方法
const base64 = 'yourBase64String';
const mimeType = 'application/javascript'; // 或者是其他适合文件类型的 MIME 类型
const file = base64ToFile(base64, mimeType);
console.log('File from Base64:', file);

注意:... 是 ES6 展开运算符,需要浏览器支持。如果需要兼容旧版浏览器,可以使用 Babel 等工具进行转换。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券