Skip to content

downloadBlob-下载

下载blob为指定名称的文件

js
  function downloadBlob(blob, filename = '1.png'){
    if (!blob) throw new Error('下载失败:Blob 数据为空');
    const downloadUrl = URL.createObjectURL(blob);
    // a标签
    const a = document.createElement('a');
    a.style.display = 'none';
    a.href = downloadUrl;
    a.download = filename;
    // 兼容无 click 事件场景:将标签添加到页面再移除
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    // 释放 URL 资源
    URL.revokeObjectURL(downloadUrl);
  }

创建一个纯文本格式的 Blob 对象

js
// 创建Blob对象(包含文本)
  const str = "Hello, Blob!";
  const blob = new Blob([str], {type: "text/plain;charset=utf-8"});
  downloadBlob(blob, 'a.txt')

创建一个json文本格式的 Blob 对象

js
  const jsonData = {
    name: "John Doe",
    age: 25,
    city: "Example City"
  };
  const str = JSON.stringify(jsonData, null, 2); 

  // 创建一个 Blob 对象 
  const blob = new Blob([str], {type: "application/json;charset=utf-8"}); 
  //  也可以用这个,但是不推荐(已经知道是json格式) const blob = new Blob([str], {type: "text/plain;charset=utf-8"}); 
  downloadBlob(blob, 'data.json')