gpt4 book ai didi

file - nodejs - fs.createReadStream().pipe,如何知道文件大小问题

转载 作者:搜寻专家 更新时间:2023-10-31 22:55:48 25 4
gpt4 key购买 nike

我正在编写自己的 HTTP 模块,如果我需要使用二进制文件进行响应,例如.jpg,

我使用以下方法加载文件:body = fs.createReadStream(pathOfFile)

当我生成响应时,我使用:body.pipe(socket);

但是作为它的 HTTP 响应,我想添加一个 Content-Length header 。

我找不到一个简单的方法来做到这一点,fs.stat 不会立即给出结果,而是在我调用 pipe 之后。

无论如何要知道在 Content-Length header 中发送什么。 ?

谢谢。

最佳答案

好吧,你应该只在使用 fs.stat 获得大小后发送响应并通过管道传输文件,如下所示:

fs.stat(file_path, function(error, stat) {
if (error) { throw error; }
response.writeHead(200, {
'Content-Type' : 'image/gif',
'Content-Length' : stat.size
});
// do your piping here
});

关于file - nodejs - fs.createReadStream().pipe,如何知道文件大小问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8576121/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com