azure的createBlockBlobFromLocalFile不会在存储容器上创建blob

时间:2014-08-07 14:49:26

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

我在blob存储上为我的网站上传递归内容文件夹。 总体例程非常简单:

1 - 丢弃容器(如果存在)(运行良好)

2 - 创建容器(运行正常,但必须告诉它这是一个需要很少尝试的迭代过程)

3 - 递归运行文件夹并将文件作为blob上传到存储(部分正常)

第三步快速运行,但既不会引发内部错误也不会调用我的回调

以下是blob上传的代码

upload: function( container, blobname, file ){
    var p = new Promise();
    this.service.createBlockBlobFromLocalFile( container, blobname, file, function( error ){
        if( error ){
            throw error;
        }
        console.log( "Uploaded file '"+ file +"' to container in '" + blobname + "'" );
        p.resolve();
    } );
    return p;
}

我必须提到的是, createBlockBlobFromStream 等其他方法都没有。我肯定做错了,但我看不清楚。

1 个答案:

答案 0 :(得分:0)

终于找到了我的错误,而这正是艾丽丽所说的。承诺的游戏进展不顺利。

我忘了从文件夹处理方法返回承诺,因此在天蓝色响应之前很久就完成了整个任务。

blobsService.cleanContainer( container ).
             then( blobsService.createContainer.bind( blobsService ) ).
             then( function(){
                   var folders = data.rootFolder.split( path.sep );
                   !!!return!!! blobsService.processFolder( container, data.rootFolder, folders[ folders.length - 1 ] );
             }).
             then( resolver );