2016-06-21 71 views
1

我目前有一个使用HTML/Javascript和AngularJS构建的网站。我很难将图像作为blob上传到Azure,因为我不知道如何生成SAS令牌。我正在使用这里找到的上传服务https://github.com/kinstephen/angular-azure-blob-upload,但需要SAS令牌才能上传文件。在客户端生成SAS令牌(使用AngularJS)将blob上载到Microsoft Azure

几乎我找到的每个示例都使用后端来生成令牌,但此应用程序使用AngularJS作为其后端。

+0

你没有任何服务器端代码?是不是可以运行基于api的节点js并从客户端调用它..? – Aravind

回答

1

几乎我找到的每个示例都使用后端来生成令牌,但该应用程序使用的是AngularJS作为其后端。

有一个使用服务器端后端来生成令牌的原因。为了生成令牌,您需要帐户密钥。您可以很好地使用客户端JavaScript生成SAS令牌,但为此,您需要将帐户密钥暴露给您的客户端应用程序,这是一个很大的安全风险,因为如果某人拥有您的帐户密钥,他们可以执行任何与您的存储帐户。因此,建议您使用服务器端应用程序创建SAS令牌,以便不公开您的帐户密钥。

如果您仍希望使用客户端JavaScript创建SAS令牌,请参阅Constructing a Service SAS。实质上,请转到该链接底部的标题为Constructing the Signature String的部分,并使用JavaScript编写代码,然后使用帐户密钥计算签名。

相关问题