我正在开发可直接下载到Node JS中的S3存储桶的软件。
我已经开发了以下代码:
const stream = s3.getObject(getParams).createReadStream();
stream.on("error", (err) => {
res.send(err);
});
res.setHeader("Content-disposition", `attachment; filename=${path.basename(req.params[ 0 ])}`);
stream.pipe(res);
它有效!
但是如果文件不存在,则下载将开始,这是错误的(包含错误消息)。
放置页眉的最佳位置在哪里?以一种仅在文件存在的情况下进行设置的方式?
我尝试了诸如on("data")
或on("end")
之类的几个事件,但无法正常工作。
那之后,我需要在此操作后关闭流吗?