2016-06-24 11 views
0

Azureストレージは、私は私のプロジェクトでは、コードのこのスニペットを使用すると、私はエラーメッセージで返さ取得するには、次のコードAzureストレージブロックブロブは、クライアント側のJavaScript

 blobSvc.createBlockBlobFromLocalFile('mycontainer', 'myblob','test.txt', function(error, result, response){ 
     if(!error){ 
     // file uploaded 
     } 
    }); 

とガイドを持っているからアップロードそのようなファイルやディレクトリは「/main_900.jpg」」

私のコードはmyScope.currentFile.nameが、私は(main_900.jpg)をアップロードしようとしているファイルの名前です。この

var blobSvc = azure.createBlobService('<myStorageName>', '<myStorageKey>', 
      'https://<myStorageName>.blob.core.windows.net/'); 

    blobSvc.createBlockBlobFromLocalFile('mycontrainer', 'blob', myScope.currentFile.name, function (error, result, response) { 
       if (!error) { 
        var hey = "file was a success";// file uploaded 
       } else { 
       var oops = "error"; 
      } 

     }); 

のように見えます。私はコードでコンテナを作成することができたので、私のblobSvcが正しいと私Azureのストレージに接続されていることを知っている:

blobSvc.createContainerIfNotExists('mycontainer', function (error, result, response) { 

     }); 

三つのパラメータをすると仮定されていますか?私は私が正しく入っていると信じています。ローカルファイルはどこにありますか?私はそれをいくつかのディレクトリで試してみました。そこでファイル名を変更してみました。それのどれもうまくいかないようです。誰かが私が間違っていることを私に指示できますか?ここで

マイクロソフトガイドへのリンクです:https://azure.microsoft.com/en-us/documentation/articles/storage-nodejs-how-to-use-blob-storage/#upload-a-blob-into-a-container

+0

完全なファイルパスを指定する必要があると思いますか? –

+0

JavaScriptを見ることができる誰でもあなたのストレージキーが見えることは分かりますか?私はこれがブラウザで実行され、nodejでは実行されないと仮定しています。 ;) – Ytrog

答えて

0

あなたが詳細については、https://github.com/Azure/azure-storage-node/blob/master/lib/services/blob/blobservice.js#L2890でソースコードを参照することができます。

最初の3のparamsは、以下のとおりです。

* @param {string} container  The container name. 
* @param {string} blob    The blob name. 
* @param {string} localFileName The local path to the file to be uploaded. 

BlobService.prototype.createBlockBlobFromLocalFile = function (container, blob, localFileName, optionsOrCallback, callback){ 
... 
} 

だからあなたの問題に関して、それはパスの問題でなければなりません。あなたが最初のファイルパスを確認するためにfsモジュールを使用して、ファイルパスを再確認してください:

var fs = require('fs'); 

if (fs.existsSync(path)) { 
    // Do something 
} 

任意の更なる懸念は、私に知らせて自由に感じなさい。

関連する問題