错误:ENOENT:没有这样的文件或目录,请阅读

时间:2018-03-05 07:34:38

标签: javascript node.js azure-storage azure-storage-blobs azure-node-sdk

我正在使用createBlockBlobFromLocalFile()函数将文件上传到azure-storage。这是代码,

var azureStorage = require('azure-storage');
var blobUri = "http://accountname.blob.core.windows.net";
var blobService = azureStorage.createBlobServiceWithSas(blobUri, sasKey).withFilter(new azureStorage.ExponentialRetryPolicyFilter());
blobService.createBlockBlobFromLocalFile('container', 'taskblob', 'task1.txt', function(error, result, response) {
        if (!error) {
            console.log("uploaded");
        } else {
            console.log(error);
        }
      }); 

当我运行上面的代码时,我得到的错误就像

  

events.js:183         扔掉//未处理的错误'事件         ^

     

错误:ENOENT:没有这样的文件或目录,请阅读

我的文件路径和代码与

在同一个文件夹中
D:\path\upload.js

D:\path\task1.txt

我使用下面的代码检查了文件的可用性,它返回成功,

var fs = require('fs');
if (fs.existsSync('task1.txt')) { }

请有人建议我解决此问题,

更新:错误消息与this question

不同

1 个答案:

答案 0 :(得分:0)

您是否拥有该文件的读取权限?您可以测试它,例如通过创建文件读取流来读取文件内容。

我使用azure-storage-node@2.8.0测试了以下代码,效果很好。

var blobService = azureStorage.createBlobService(accountName, sasKey).withFilter(new azureStorage.ExponentialRetryPolicyFilter());

blobService.createContainerIfNotExists('mycontainer', function (err, res) {
  if (!err) {
    blobService.createBlockBlobFromLocalFile('mycontainer', 'taskblob', 'task1.txt', function (error, result, response) {
      if (!error) {
          console.log("uploaded");
      } else {
          console.log(error);
      }
    }); 
  }
});