在浏览器中,
file
变量将是File
的实例,如 MDN 页面中所述:https://developer.mozilla.org/en-US/docs/Web/API/File
这意味着它是一个完整的对象,具有
name
、lastModified
… 等属性
同时,在 Node.js 中,
fs.readFile
使用 utf8
编码返回的值将是文件的字符串内容。
所以他们确实不兼容。根据
somepackage.read
对 File
对象执行的操作,您可以通过使用单独的 fs.stat
调用检索日期信息来模拟虚拟对象。
幸运的是,像 https://github.com/node-file-api/file-api 这样的项目已经解决了这个问题。
请注意,如果
somepackage.read
假设提供的文件是 Blob
,则您需要使用 Node.js 15.x 最近引入的功能来增强上述包:https://github.com /nodejs/node/pull/36811