代码之家  ›  专栏  ›  技术社区  ›  Palash Gupta

如何通过流获取文件

  •  1
  • Palash Gupta  · 技术社区  · 6 年前

    我的文件/图像存储在Azure存储中,但我需要通过流发送该文件(而不是在本地下载该文件)。

    import storage from 'azure-storage';
    
    const Storage = storage.createBlobService();
    
    async handler(request,h){
    const photo = new Promise((resolve, reject) => {
        const res = Storage.createReadStream('conatinername',
          'file.jpg');
    
        res.on('data', () => { });
    
        res.on('readable', (data) => resolve(data));
      });
    
      return await photo;
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Jerry Liu Phantom    6 年前

    假设您希望将图像作为响应发送,请尝试下面的处理程序。

    handler: async function(request,h) {
        const photo = new Promise((resolve, reject) => {
            const res = Storage.createReadStream(containerName, blobName);
            res.on('data', (data) => resolve(data));
            res.on('error',(err) => reject(err));
        });
        try {
            var content = await photo;
            return h.response(content).type('image/jpg');
        } catch(err){
            return h.response("ERROR Downloading");
        }
    }