2017-06-21 131 views
0

我是将文件上传到BLOB存储的新手,我需要帮助将视频文件上传到nodejs中的azure BLOB存储。我已经为这项服务做了一些代码。将视频文件上传到NODEJS中的AZURE BLOB存储

这里是我的服务代码片断

uploadCourseVideo.post(multipartMiddleware, function (req, res) { 
    var dataStream; 
    console.log(req.body, req.files); 
fs.readFile(req.files.file.path, function (err, dataStream) { 
      var blobSvc = azure.createBlobService('ariasuniversity', 'account key'); 
      blobSvc.createContainerIfNotExists('elmsvideos', function (error, result, response) { 
       if (!error) { 
        // Container exists and is private 
        blobSvc.createBlockBlobFromStream('elmsvideos', 'myblob', dataStream, dataStream.length, function (error, result, response) { 
         if (!error) { 
          // file uploaded 
         } 
        }); 
       } 
      }); 
});` 

我正的错误是Stream.pause的()是不是一个函数。 THe Error Image

请帮助我。由于

+0

2件事情:1)您在问题中包含了您的账户密钥。即使我编辑的问题,并删除了密钥,但任何人都可以在编辑历史去看看的关键。 **我要求您立即更改您的账户密钥**。 2)请粘贴错误消息作为文本而不是图像。它使事情变得更容易。 –

+0

@GauravMantri冈兄弟thanx的安全问题。我现在正在改变它。 –

回答

1

您使用fs.readfile()功能,将不返回流,从而提高您的问题。 你可以使用fs.createReadStream()函数来代替,然后就可以使用createWriteStreamToBlockBlob提供流写入到块斑点。

var readStream = fs.createReadStream(req.files.file.path); 

var blobSvc = azure.createBlobService('ariasuniversity', 'account key'); 
blobSvc.createContainerIfNotExists('elmsvideos', function (error, result, response) { 
    if (!error) { 
     // Container exists and is private 
     readStream.pipe(blobSvc.createWriteStreamToBlockBlob('elmsvideos', 'myblob', function (error, result, response) { 
      if(!error) { 
       // file uploaded 
      } 
     })); 

    } 
}); 
相关问题