无法查看图像上传到azure blob存储

时间:2015-11-04 16:24:11

标签: node.js azure upload azure-storage

我正在使用Node.js将图像上传到azure storage https://github.com/Azure/azure-storage-node。上传成功,但在访问网址时无法看到图片。

上传代码如下。

UPDATE table SET bla = 777 WHERE bla = 123;

在azure portal中,我可以看到有些内容已经上传到我的容器中,访问提供的URL只会加载一个空白页面。

var file = 'tmp/myimage.png';
var blobService = azure.createBlobService(config.azure.connection_string);

blobService.createBlockBlobFromLocalFile(config.azure.container, 'taskblob', file, function(err, result, response) {
    if(err) return console.log(err);
    console.log(response);
    callback();
});

在记录“响应”时,我也从Azure获得了成功回复

1 个答案:

答案 0 :(得分:1)

@wazzaday,通常,我们可以使用您提供的代码将文件上传到Azure Blob Stroage。

    var azure = require('azure-storage');
    var blobSvc = azure.createBlobService("**","**");
    var file = 'tmp/1.txt';

    blobSvc.createContainerIfNotExists('mycontainer', function (error, result, response) {
        if (!error) {
        // Container exists and allows
        // anonymous read access to blob
        // content and metadata within this container
            console.log('ok')
        }
    });
    blobSvc.createBlockBlobFromLocalFile('mycontainer', 'myblob1', file, function (error, result, response) {
        if (!error) {
            console.log('file uploaded'+response)
        } else {
            console.log(error);
        }
    });

从上面的代码中,我们需要确保文件路径是正确的。 由于Azure Portal上的文件大小为0,我建议您尝试使用ReadStream上传文件并再次检查文件大小。请参考以下代码:

var azure = require('azure-storage');
var fs = require('fs');
var blobSvc = azure.createBlobService("**","**");
var file = 'tmp/1.txt';
var stream = fs.createReadStream(file)
var dataLength = 0;
// using a readStream that we created already
stream
  .on('data', function (chunk) {
    dataLength += chunk.length;
})
  .on('end', function () {  // done
    console.log('The length was:', dataLength);
});
blobSvc.createContainerIfNotExists('mycontainer', function (error, result, response) {
    if (!error) {
    // Container exists and allows
    // anonymous read access to blob
    // content and metadata within this container
        console.log('ok')
    }
});



blobSvc.createBlockBlobFromStream('mycontainer', 'filename', stream,dataLength, function (error) {
    if (!error) {
        console.log('ok Blob uploaded')
    }

});

请尝试上面的代码,任何更新,请告诉我。