电子从具有偏移量和长度的路径读取文件
Electron read file from path with offset and length
假设我使用的是最新版本的 Electron,我需要访问文件系统-API 以便我可以读取潜在的巨大文件(几千兆字节) 基于块。
我已经实现了一个系统,所以我可以为函数提供一个偏移量和一个长度。此外,另一个要求是 只能提供路径 而不是来自文件选择器的一些实际文件对象(否则我可以使用纯 JS)。
到目前为止,我已经尝试使用 readFile-API(顺便说一句——数据需要进行 base64 编码):
window.require('electron').remote.require('fs').readSync(path, {enoding:'base64'}, (err,data)=>{...})
此解决方案的问题是我无法提供 offset/length...
您正在使用 readFileSync 的参数而不是 readSync
https://nodejs.org/api/fs.html#fs_fs_readsync_fd_buffer_offset_length_position
fs.open('your-file', 'r', (err, fd) => {
const data = fs.readSync(fd, buffer, bytesRead, size, bytesRead)
})
假设我使用的是最新版本的 Electron,我需要访问文件系统-API 以便我可以读取潜在的巨大文件(几千兆字节) 基于块。
我已经实现了一个系统,所以我可以为函数提供一个偏移量和一个长度。此外,另一个要求是 只能提供路径 而不是来自文件选择器的一些实际文件对象(否则我可以使用纯 JS)。
到目前为止,我已经尝试使用 readFile-API(顺便说一句——数据需要进行 base64 编码):
window.require('electron').remote.require('fs').readSync(path, {enoding:'base64'}, (err,data)=>{...})
此解决方案的问题是我无法提供 offset/length...
您正在使用 readFileSync 的参数而不是 readSync
https://nodejs.org/api/fs.html#fs_fs_readsync_fd_buffer_offset_length_position
fs.open('your-file', 'r', (err, fd) => {
const data = fs.readSync(fd, buffer, bytesRead, size, bytesRead)
})