如何在 NodeJS 中创建带有路径的文件对象?

编程入门 行业动态 更新时间:2024-10-06 01:37:42

如何在 NodeJS 中创建带有<a href=https://www.elefans.com/category/jswz/34/1771438.html style=路径的文件对象?"/>

如何在 NodeJS 中创建带有路径的文件对象?

我想知道是否可以使用现有文件的路径在 NodeJS 中创建一个

File
对象(名称、大小、数据...)?我知道这可能是客户端,但我看不到 NodeJS。

换句话说,我想要与在 NodeJS 中工作的功能相同的功能:

function srcToFile(src, fileName, mimeType){
    return (fetch(src)
        .then(function(res){return res.arrayBuffer();})
        .then(function(buf){return new File([buf], fileName, {type:mimeType});})
    );
}

srcToFile('/images/logo.png', 'logo.png', 'image/png')
.then(function(file){
    console.log(file);
});

输出会是这样的:

File {name: "logo.png", lastModified: 1491465000541, lastModifiedDate: Thu Apr 06 2017 09:50:00 GMT+0200 (Paris, Madrid (heure d’été)), webkitRelativePath: "", size: 49029, type:"image/png"…}
回答如下:

对于那些正在寻找这个问题的解决方案的人,我创建了一个 npm 包,以便更容易地使用 Node 的文件系统检索文件并将它们转换为 JS 文件对象:

https://www.npmjs/package/get-file-object-from-local-path

这解决了 Node 的 fs 文件系统(浏览器无法访问)与浏览器的 File 对象类型之间缺乏互操作性,Node 无法创建的问题。

需要3个步骤:

  1. 获取Node实例中的文件数据并从中构造一个LocalFileData对象
  2. 将创建的LocalFileData对象发送给客户端
  3. 在浏览器中将 LocalFileData 对象转换为 File 对象。
// Within node.js
const fileData = new LocalFileData('path/to/file.txt')

// Within browser code
const file = constructFileFromLocalFileData(fileData)

更多推荐

如何在 NodeJS 中创建带有路径的文件对象?

本文发布于:2024-05-30 12:03:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1770477.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:路径   对象   文件   如何在   NodeJS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!