2017-06-21 181 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 
      } 
     })); 

    } 
}); 
相關問題