2016-06-21 69 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編寫代碼,然後使用帳戶密鑰計算簽名。

相關問題