javascript - 从文件路径创建blob vue electro builder

标签 javascript node.js vue.js electron

我在 Electron 应用程序中使用 fs 模块从路径读取文件内容

ipcMain.on('fileData', (event, data) => {
 data.forEach( (file) => { 
  const stream = fs.createReadStream(file)
  stream.on('data', (buffer) => {
    console.log(buffer)
  })
 })
})

我能够打开文件,但我得到了一个缓冲区。我想要的是从文件创建 blob 来对它们进行一些处理。我如何在 Electron 中实现这一点?

最佳答案

如果您尝试在主进程(即 NodeJS 环境)中创建 Blob,请记住 NodeJS 不支持 Blob。

但是,如果您尝试在渲染器进程中从文件创建 Blob,则可以使用预加载器或启用 nodeIntegration。然后你可以使用类似下面的东西:

const fs = require('fs');
const stream = fs.createReadStream(filepath);

var blob = new Blob([]); // empty blob

stream.on('data', (buffer) => {
    blob = new Blob([blob, buffer]); // concatenate buffer
});
stream.on('close', () => {
    // blob is ready!
});

关于javascript - 从文件路径创建blob vue electro builder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65157889/

相关文章:

JavaScript 数组 : why is this not valid?

java - 运行 Gottox/socket.io-java-client 时出错

javascript - 在哪里添加 Vue.config.devtools = true ?

vue.js - 使用多个激活器验证对话框

node.js - 将 Quasar SSR vue/node 应用程序部署到 Firebase 托管

javascript - Chrome View 与打印预览之间的巨大差异

javascript - 使用 jQuery 将带有参数的函数附加到动态创建的 div

javascript - 父对象的 CSS 不透明度

node.js - npm-cache 目录下,_cacache 以外的文件夹是做什么用的?

angularjs - Angular CRUD 从模式中删除行