【问题标题】:file reader read blob file文件阅读器读取 blob 文件
【发布时间】:2019-07-24 22:43:59
【问题描述】:

我正在尝试使用 filereader 访问位于本地的 blob 文件,例如 c 驱动器,然后将其转换回对象 URL 作为 img src。它不起作用,有人可以帮忙吗?

从未发现有人尝试从磁盘访问 blob 文件。什么是 blob 文件类型扩展名?

const imageOut = document.querySelector('#image-out');

    imageOut.addEventListener('load', () => {
        const reader = new FileReader();

        reader.addEventListener('load', () => {

            var f = File.createFromFileName("file:///C:/blob.blb"); 

              const arrayBuffer = reader.readAsArrayBuffer(f);

            const blob = new Blob([arrayBuffer], { type: mimeType });

            imageOut.src = URL.createObjectURL(blob);

        });
    });

为空,不显示

【问题讨论】:

  • 你是想在浏览器扩展中这样做还是什么?因为,在常规网站中,如果用户不选择文件(使用 ,则无法访问磁盘任何位置的文件

标签: javascript blob filereader


【解决方案1】:

检查如何使用 blob here 已清楚解释,应该足以让您继续使用。

试试这个: 假设 file:///C:/blob.blb 存在并且您确定,那么就这样做:

    imageOut.addEventListener('load', () => {
        const reader = new FileReader();
        var f = File.createFromFileName("file:///C:/blob.blb");
        reader.addEventListener('load', (e) => {
              const arrayBuffer = reader.readAsArrayBuffer(f);

            global.blob = new Blob([arrayBuffer], { type: f.type});

        });
// notice this is outside the reader Load.

var intval = setInterval(function(){
      if(blob !== undefined){
         imageOut.src = URL.createObjectURL(blob);  
         clearInterval(intval);
      }
     }, 100);

    });

希望对你有帮助。

【讨论】:

  • var f = File.createFromFileName("blob://C:/blob");试试这个,但还是不行。
  • 这 (blob://C:/blob) 真的是您系统上可见的文件 PATH 吗?首先阅读stackoverflow.com/questions/6506518/…,因为 File.createFromFileName() 需要一个可行的文件路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-30
  • 1970-01-01
  • 2018-01-21
相关资源
最近更新 更多