Node.js readStream中的Nodejs图像将显示,但连接仍处于打开状态大约一分钟

Node.js readStream中的Nodejs图像将显示,但连接仍处于打开状态大约一分钟,node.js,stream,Node.js,Stream,我正在尝试创建一个个人资料图片上传功能,但我被困在检索部分。图像被分块下载,一旦出于某种原因渲染,图像旁边的“网络”选项卡中仍有一个旋转图标持续60秒,这就像图像被下载并渲染一样,但仍需要大约一分钟或更长的时间才能在浏览器的“网络”选项卡中完成加载,如果我试图上传另一张图片,直到之前上传的那一分钟左右,它才被渲染,有人能帮我解决这个问题吗 const storage = require('@google-cloud/storage'); const gcs = storage({ pr

我正在尝试创建一个个人资料图片上传功能,但我被困在检索部分。图像被分块下载,一旦出于某种原因渲染,图像旁边的“网络”选项卡中仍有一个旋转图标持续60秒,这就像图像被下载并渲染一样,但仍需要大约一分钟或更长的时间才能在浏览器的“网络”选项卡中完成加载,如果我试图上传另一张图片,直到之前上传的那一分钟左右,它才被渲染,有人能帮我解决这个问题吗

const storage = require('@google-cloud/storage');

const gcs = storage({
    projectId: 'my_project_id',
    keyFilename: 'keys.json'
});

const bucketName = 'my-profile-photos';
const bucket = gcs.bucket(bucketName);

const retrieveFromGcs = (req, res, next) => {
  const stream = bucket.file(req.params.name).createReadStream();

  res.writeHead(200, {'Content-Type': 'image/jpg' });

  stream.on('data', (data) => {
    console.log('hit stream on data');
    res.write(data);
  });

  stream.on('error', (err) => {
    console.log('hit error');
    next(err);
  });

  stream.on('finish', () => {
    console.log('hit finish');
    stream.end();
});

//如果console.logs对任何人都有用,“数据上的点击流”会打印大约200次,“点击完成”会打印一次,当您的流式处理完成时,您必须在此处结束

对于该用途,请参见下面的代码

stream.on('finish', () => {
    console.log('hit finish');
    stream.end();
    res.end();
});

完成网络加载器。我们必须结束我们的回应对象。这样浏览器就知道现在没有数据可以写了。

是的,你是对的,哈哈,如果我忘了这么简单的事情,我想我今天的脑子都快炸了