错误:Google云存储上的Socket挂起代码:

人气:1,011 发布:2022-10-16 标签: node.js google-cloud-platform google-cloud-storage

问题描述

尝试将图像上载到Google云存储时,我们不断收到ECONNRESET错误。

var storage = require('gcloud').storage({
    projectId: projectNumber,
    credentials: credentials
});

//...

var file = Storage.bucket('myBucket').file('test.png');
fs.createReadStream('/path/to/image.png').pipe(file.createWriteStream({
    metadata: {
        contentType: 'image/png',
        cacheControl: 'public, max-age=2592000'
    }
}).on('complete', function () {
  //
}).on('error', function (err) {
  // err = Error: socket hang up || Request Timeout after 30000ms
});

推荐答案

不确定为什么没有人回答此问题。 我也有相同的错误,并通过将可恢复和验证设置为假来解决它:

var gcsStream = Storage.bucket('myBucket').file('test.png').createWriteStream({
      resumable: false,
      validation: false,
      metadata: {
        contentType: 'image/png'
      }
    });
fs.createReadStream('/path/to/image.png').pipe(gcsStream);

在没有这两项设置的情况下,每当我同时上载20~30张图像时,都会收到套接字挂起错误。

134