Node.js从S3下载文件写入本地文件系统异常问题
问题解决:S3下载图片显示不全
你的代码存在流处理逻辑错误,导致图片数据写入异常:你把fileStream pipe到了它自身,这会造成数据循环混乱,只有部分内容能正确写入本地文件,最终图片显示不全。
修正后的代码:
const fileStream = s3.getObject(options).createReadStream(); const writableStream = createWriteStream( "./files/master_driver_profile_pic/image.jpeg" ); fileStream.pipe(writableStream);
额外建议:为流添加错误监听,避免静默失败,同时确认文件写入完成状态:
- 添加错误与完成监听:
fileStream.on('error', (err) => { console.error('读取S3文件出错:', err); }); writableStream.on('error', (err) => { console.error('写入本地文件出错:', err); }); writableStream.on('finish', () => { console.log('图片已成功下载并写入本地'); });
内容的提问来源于stack exchange,提问作者Deep Mandal
相关产品推荐
相关产品推荐

