簡體   English   中英

“管道中未處理的流錯誤” - 使用帶有 express 的 request.js 下載的文件過多

[英]“Unhandled stream error in pipe” - Too many file downloads using request.js with express

我正在嘗試下載多個圖像。

有時下載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)

數據有圖片下載網址。

    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);
     });

誰能幫我 ?

似乎另一個端點過早地結束了連接,請看一下:Node js ECONNRESET

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM