我正在使用Nodejs,AWS-S3有時會出現錯誤:
[ERR_HTTP_HEADERS_SENT]:發送到客戶端后無法設定標頭
我有這個功能可以下載任何檔案。當我在某些請求之后呼叫它時,我收到了錯誤。
export const downloadFile = async(req: Request, res: Response) => {
res.setHeader('Content-Disposition', 'attachment');
const params = {
Bucket: AWS_S3.Bucket,
Key: req.params.key
};
s3.getObject(params)
.createReadStream()
.on('error', error => {
return res.status(500).json({
message: 'An error ocurred...',
error
});
}).pipe(res);
}
uj5u.com熱心網友回復:
當您在已發送 res 后嘗試發送 res 時,會發生此錯誤。你確定你的
return res.status(500).json({
message: 'An error ocurred...',
error
});
函式結束后不回傳值嗎?我會確保在到達方法結束之前等待您的流的執行。否則,您將在本地收到一些 OK 我們已完成但實際上并未在服務器上完成,然后嘗試再次發送結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/338577.html
