Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript @谷歌云/存储在工作了很长时间后突然抛出奇怪的异常_Javascript_Node.js_Google Cloud Storage - Fatal编程技术网

Javascript @谷歌云/存储在工作了很长时间后突然抛出奇怪的异常

Javascript @谷歌云/存储在工作了很长时间后突然抛出奇怪的异常,javascript,node.js,google-cloud-storage,Javascript,Node.js,Google Cloud Storage,上下文: getFile: async (req, res) => { try { const fileName = req.param('file'); res.setHeader('Content-Type', 'application/octet-stream'); res.setHeader('Content-Disposition', 'attachment; filename=' + fileName + ''); c

上下文:

  getFile: async (req, res) => {
    try {
      const fileName = req.param('file');
      res.setHeader('Content-Type', 'application/octet-stream');
      res.setHeader('Content-Disposition', 'attachment; filename=' + fileName + '');
      const storage = new Storage();
      let file = await storage.bucket('fancy_induction_ui').file(fileName).createReadStream();
      file.pipe(res);
    } catch (e) {
      res.status(500).json({message: 'Something is wrong!', err: e.message});
    }
  }
path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317
  var isBuf = !state.objectMode && _isUint8Array(chunk);
                     ^

TypeError: Cannot read property 'objectMode' of undefined
    at DestroyableTransform.Writable.write (path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317:22)
    at PassThrough.ondata (_stream_readable.js:714:22)
    at PassThrough.emit (events.js:321:20)
    at PassThrough.EventEmitter.emit (domain.js:482:12)
    at PassThrough.Readable.read (_stream_readable.js:512:10)
    at flow (_stream_readable.js:989:34)
    at resume_ (_stream_readable.js:970:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
我有一个API端点,它为存储在公共Google云存储桶中的.stl文件提供服务。直到本周的某个时候,它一直运转良好。我可以使用调试器一步一步地完成我的代码。我的项目中甚至没有提到有问题的NPM模块。我曾尝试使用谷歌文档中的精确代码进行下载,但得到了相同的异常:

我尝试过的

npm rebuild@google cloud/storage
以及使用同一个google npm包的不同方式

问题:

  getFile: async (req, res) => {
    try {
      const fileName = req.param('file');
      res.setHeader('Content-Type', 'application/octet-stream');
      res.setHeader('Content-Disposition', 'attachment; filename=' + fileName + '');
      const storage = new Storage();
      let file = await storage.bucket('fancy_induction_ui').file(fileName).createReadStream();
      file.pipe(res);
    } catch (e) {
      res.status(500).json({message: 'Something is wrong!', err: e.message});
    }
  }
path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317
  var isBuf = !state.objectMode && _isUint8Array(chunk);
                     ^

TypeError: Cannot read property 'objectMode' of undefined
    at DestroyableTransform.Writable.write (path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317:22)
    at PassThrough.ondata (_stream_readable.js:714:22)
    at PassThrough.emit (events.js:321:20)
    at PassThrough.EventEmitter.emit (domain.js:482:12)
    at PassThrough.Readable.read (_stream_readable.js:512:10)
    at flow (_stream_readable.js:989:34)
    at resume_ (_stream_readable.js:970:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
1.)是否应该捕获异常以防止崩溃

2.)有人对解决方法有什么想法吗

文件:

代码:

  getFile: async (req, res) => {
    try {
      const fileName = req.param('file');
      res.setHeader('Content-Type', 'application/octet-stream');
      res.setHeader('Content-Disposition', 'attachment; filename=' + fileName + '');
      const storage = new Storage();
      let file = await storage.bucket('fancy_induction_ui').file(fileName).createReadStream();
      file.pipe(res);
    } catch (e) {
      res.status(500).json({message: 'Something is wrong!', err: e.message});
    }
  }
path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317
  var isBuf = !state.objectMode && _isUint8Array(chunk);
                     ^

TypeError: Cannot read property 'objectMode' of undefined
    at DestroyableTransform.Writable.write (path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317:22)
    at PassThrough.ondata (_stream_readable.js:714:22)
    at PassThrough.emit (events.js:321:20)
    at PassThrough.EventEmitter.emit (domain.js:482:12)
    at PassThrough.Readable.read (_stream_readable.js:512:10)
    at flow (_stream_readable.js:989:34)
    at resume_ (_stream_readable.js:970:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
Stacktrace:

  getFile: async (req, res) => {
    try {
      const fileName = req.param('file');
      res.setHeader('Content-Type', 'application/octet-stream');
      res.setHeader('Content-Disposition', 'attachment; filename=' + fileName + '');
      const storage = new Storage();
      let file = await storage.bucket('fancy_induction_ui').file(fileName).createReadStream();
      file.pipe(res);
    } catch (e) {
      res.status(500).json({message: 'Something is wrong!', err: e.message});
    }
  }
path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317
  var isBuf = !state.objectMode && _isUint8Array(chunk);
                     ^

TypeError: Cannot read property 'objectMode' of undefined
    at DestroyableTransform.Writable.write (path/to/code/node_modules/readable-stream/lib/_stream_writable.js:317:22)
    at PassThrough.ondata (_stream_readable.js:714:22)
    at PassThrough.emit (events.js:321:20)
    at PassThrough.EventEmitter.emit (domain.js:482:12)
    at PassThrough.Readable.read (_stream_readable.js:512:10)
    at flow (_stream_readable.js:989:34)
    at resume_ (_stream_readable.js:970:3)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

在我看来,不同版本中的bug在深度依赖中是可读的。 我补充说

可读流:“3.6.0”


对于我的package.lock,我已经解决了这个问题。

如果问题来自服务器,catch子句将防止崩溃。这看起来像是Node.js可读流中的一个问题。看见也许升级到最新版本会有所帮助。请在Node.js GitHub存储库中提出您的问题。@matt gardner您解决了这个问题吗?我有同样的问题…如上所述,我有同样的问题与mssql使用乏味的。有人解决了这个问题吗?你解决了吗?我有确切的问题,但只在我的测试环境中。。您找到解决方案了吗?使用Readable stream处理多个依赖项怎么样?我有一些使用不同版本的,例如在npm安装中,它只是重复使用3.4.0。