【问题标题】:Azure Storage Block Blob upload from client side Javascript从客户端 Javascript 上传 Azure 存储块 Blob
【发布时间】:2016-10-27 04:50:10
【问题描述】:

Azure Storage 有一个指南,代码如下

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

当我在我的项目中使用这个 sn-p 代码时,我收到一条返回错误消息:“ENOENT,没有这样的文件或目录'/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";
            }

        });

其中 myScope.currentFile.name 是我尝试上传的文件的名称 (main_900.jpg)。我知道我的 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

【问题讨论】:

  • 我猜你需要指定完整的文件路径?
  • 您意识到您的存储密钥对任何能够查看 JavaScript 的人都是可见的?我假设这是在浏览器中运行的,而不是在 nodejs 上。 ;)

标签: javascript node.js azure blob azure-blob-storage


【解决方案1】:

详情可以参考https://github.com/Azure/azure-storage-node/blob/master/lib/services/blob/blobservice.js#L2890的源码。

前三个参数是:

* @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
}

如有任何疑问,请随时告诉我。

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 2014-11-22
    • 2018-10-30
    • 2017-09-13
    • 2016-06-13
    • 2014-08-16
    • 2019-04-23
    • 1970-01-01
    • 2015-06-13
    相关资源
    最近更新 更多