0
複数の画像をダウンロードしようとしています。"パイプで処理されていないストリームエラー" - express.jsを使用しているファイルが多すぎます
10枚の写真をダウンロードすることがあります。時々500枚の写真をダウンロードする場合は、次のエラーが発生します。
解決策を見つける必要があります。
internal/streams/legacy.js:59
throw er; // Unhandled stream error in pipe.
^
Error: read ECONNRESET
at _errnoException (util.js:1024:11)
at TCP.onread (net.js:615:25)
Datasには画像のダウンロードURLがあります。
let arrDatas = [];
datas.map(data => {
arrDatas.push(
new Promise((resolve, reject) => {
request.head(data.url, (err, res, body) => {
if (!err && res.statusCode === 200) {
let imgType;
if (
res.headers["content-type"] ===
"application/octet-stream"
) {
imgType = "jpeg";
} else {
imgType = res.headers["content-type"].split("/")[1];
}
request({
url: data.url,
headers: {
"Keep-Alive": "max=2000"
}
})
.pipe(
fs.createWriteStream(
"server/downloads/" + createUniqueSHA1String() + "." + imgType
)
)
.on("close", close => {
resolve(true);
});
} else {
resolve(false);
}
});
})
);
});
Promise.all(arrDatas).then(result => {
res.json(result);
})
.catch(err => {
res.status(500).json(err.message);
});
誰でも手伝ってもらえますか?