gpt4 book ai didi

node.js - 将 Blob 上传到 Azure 存储不适用于使用 NodeJs 的本地开发模拟器

转载 作者:太空宇宙 更新时间:2023-11-04 00:38:50 26 4
gpt4 key购买 nike

我正在尝试使用 NodeJs 将本地文件上传到 blob 存储。服务器向我发送以下详细信息

{hostName: "StorageAccount", containerName:"containerName", "blobName": blobName, sasToken: "sasToken"}

下面是上传文件的代码

var azure = require('azure-storage');
var blobSvc = azure.createBlobServiceWithSas(result.hostName,result.sasToken);
blobSvc.createBlockBlobFromLocalFile(result.containerName,result.blobName,'server.json',
function(error, result, response){
if(!error){
// file uploaded
}
});

如果上面的代码是 Azure 中的真实存储信息,则可以正常工作,但如果它位于本地开发存储上,则会抛出“找不到指定资源”错误。

非常感谢任何帮助。谢谢

最佳答案

要在 Node.js 中使用 Azure 存储模拟器进行开发,请确保首先启动本地模拟器(有关更多信息,请参阅 https://azure.microsoft.com/en-us/documentation/articles/storage-use-emulator/),并尝试利用 generateDevelopmentStorageCredentials() ,它创建一个连接字符串,可用于创建在存储模拟器上运行的服务。模拟器必须单独下载。

这是代码片段:

var azure = require('azure-storage');
var fs = require('fs');

var devStoreCreds = azure.generateDevelopmentStorageCredentials();
var blobsrv = azure.createBlobService(devStoreCreds);

blobsrv.createContainerIfNotExists('container', {
publicAccessLevel: 'blob'
}, function(error, result, response) {
if (!error) {
blobsrv.createBlockBlobFromLocalFile('container', <blobname>, <filepath>, function (error, result, response) {
if (!error) {
console.log("Uploaded" + result);
}
else {
console.log(error);
}
});
}else{
console.log(error)
}
})

关于node.js - 将 Blob 上传到 Azure 存储不适用于使用 NodeJs 的本地开发模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37746405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com