use*_*986 4 http file httpresponse node.js
我正在编写自己的HTTP模块,如果我需要用二进制文件响应,例如.jpg,
我使用以下方式加载文件:body = fs.createReadStream(pathOfFile).
当我生成响应时,我使用:body.pipe(socket);
但作为其HTTP响应,我想添加一个Content-Length标题.
我找不到一个简单的方法,fs.stat不会立即给出结果,而是在我调用管道之后.
无论如何要知道在Content-Length标题中发送什么 .?
谢谢.
ale*_*lex 16
那么你应该只有在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
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12300 次 |
| 最近记录: |