首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >NestJS StreamableFile vs responseObject

NestJS StreamableFile vs responseObject
EN

Stack Overflow用户
提问于 2022-07-05 15:26:00
回答 1查看 126关注 0票数 0

使用流文件(https://docs.nestjs.com/techniques/streaming-files)而不是用NestJS在响应中写入对象的优点是什么?

代码语言:javascript
运行
复制
const data = ...;
response.writeHead(200, {
  "Content-Type": "text/csv",
  "Content-Disposition": `attachment; filename=something.csv`,
});
return response.end(data);

vs

代码语言:javascript
运行
复制
const data = ...;
const readable = Readable.from([data]);

response.set({
   "Content-Type": "text/csv",
   "Content-Disposition": `attachment; filename=something.csv`,
});

return new StreamableFile(readable);
EN

回答 1

Stack Overflow用户

发布于 2022-07-05 15:37:15

使用StreamableFile,您根本不需要将@Res()注入路由处理程序,您可以将配置和内容类型设置为options对象的一部分,作为StreamableFile构造函数的第二个参数。这还意味着,如果您正在对控制器进行单元测试,则不需要模拟res.writeHeadres.end方法,只需断言返回的实例实质上等于创建的StreamableFile (即具有相同的道具和值)。

对于框架来说,这也是不需要担心的另一件事。如果你喜欢写res.writestream.pipe(res),那就去写吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72871942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档