2016-03-28 18 views
0

createBlockBlobFromLocalFileを使用して、空白のブロブストレージに画像をアップロードしようとしていました。そして私はsasTokenのようなものを作成しました紺碧のストレージノード指示here。ここにアップロードのための私のコードです。Azure blob sasToken "署名が一致しませんでした"

module.exports = function(params) { 

var config = require('../../config/secrets'); 
var fs = require('fs'); 
var azure = require('azure-storage'); 
var controllers = {}; 

var blobSvc = azure.createBlobService(config.BLOB_LINK, config.BLOB_KEY); 


controllers.upload = function (req, res, next){ 

    var fstream; 
    req.pipe(req.busboy); 

    var startDate = new Date(); 
    var expiryDate = new Date(startDate); 
    expiryDate.setMinutes(startDate.getMinutes() + 100); 
    startDate.setMinutes(startDate.getMinutes() - 100); 

    var sharedAccessPolicy = { 
     AccessPolicy: { 
      Permissions: azure.BlobUtilities.SharedAccessPermissions.WRITE, 
      Start: startDate, 
      Expiry: expiryDate 
     } 
    }; 

    req.busboy.on('file', function (fieldname, file, filename) { 

     fstream = fs.createWriteStream(__dirname + '/upload/' + filename); 
     file.pipe(fstream); 
     fstream.on('close', function() { 

      var sharedAccessSignatureToken = blobSvc.generateSharedAccessSignature('resources', filename, sharedAccessPolicy); 
      var sharedBlobService = azure.createBlobServiceWithSas(blobSvc.host, sharedAccessSignatureToken); 
      console.log("sas", sharedAccessSignatureToken); 

      sharedBlobService.createBlockBlobFromLocalFile(
        'resources', 
        filename, 
        fstream.path, 
        function(error, result, response) { 
         if (error) { 
          res.send(error); 
          return; 
         } 
         res.send(result); 
        }); 
     }); 
    }); 
} 

return controllers; 

}; 

私のフロントエンドでこのエラーが発生しました。

enter image description here

EDIT 応答メッセージ通常 enter image description here

答えて

2

、我々はsasTokenコンテンツdosen'tたちがAzureストレージに要求したリソースが一致することを意味し、この問題を、発生したとき。

私の側では、あなたのコードは正常に動作します。したがって、Blob Storageにresourcesというコンテナを作成したかどうかを再度確認してください。

私の側では、以前に作成したコンテナを使用せずにAzure StorageにBLOBをアップロードした場合にのみ問題を再現できます。

+0

これは非常に有用なメモです。私はすべてをチェックして、次に病気が戻ってきます。 – CENT1PEDE

+0

こんにちはゲイリー私は 'resources'コンテナが存在することを確認しましたが、それと同じ問題があります。 – CENT1PEDE

+0

あなたの 'azure-storage'のlibバージョンは何ですか?テストファイル名は何ですか? –

関連する問題