我是Node / Express的新手,我使用它作为后端与Azure Blob存储集成。具体来说,我可以使用以下命令在Angular的单击客户端创建Azure blob容器:
角度控制器(绑定到ng-click事件):
$scope.createContainer = function () {
// Create Blob Container
$http.get('/createcontainer').success(function (data) {
console.log(data);
});
};
创建Blob容器的Node / Express后端:
app.get('/createcontainer', function (res, req) {
function generateUnique() {
function guid() {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
}
var containerNamePart1 = guid();
var now = new Date();
var containerNamePart2 = dateFormat(now, "yyyymmddhhMMss");
var containerName = containerNamePart1 + "-" + containerNamePart2;
blobSvc.createContainerIfNotExists(containerName, function (error, result, response) {
if (!error) {
console.log(result);
if (result === false) {
generateUnique();
}
// Container exists and allows
// anonymous read access to blob
// content and metadata within this container
}
});
}
generateUnique();
});
我需要做的是将在后端(Node / Express)中创建的blob容器的名称传递给我的Angular前端(控制器),以便它可以用作其他操作的变量。如何将Node / Express中的变量或数据传递给前端以供使用/使用?
答案 0 :(得分:1)
我发现了这个问题。在我的第一行,我有req和res向后((res,req)应该是(req,res)。通过这个解决,我能够将以下内容添加到我的blob容器创建的成功方面:
res.send(containerName);
这可以在我传入containerName的console.log之后看到。
blobSvc.createContainerIfNotExists(containerName, function (error, result, response) {
if (!error) {
console.log(result);
res.send(containerName);
if (result === false) {
generateUnique();
}