在 JavaScript 中创建 SAS for Azure 存储 (PhoneGap)

Create SAS for Azure storage in JavaScript (PhoneGap)

本文关键字:存储 PhoneGap Azure for JavaScript 创建 SAS      更新时间:2023-09-26

我正在创建一个利用Azure移动服务的PhoneGap应用程序。我有数据上传和下载没有问题。现在,我想在手机上拍照并将其上传到 Azure Blob 存储。我已经做了一些研究,看起来我需要执行以下操作:

  1. 创建共享访问签名 (SAS)
  2. 使用 XMLHttpRequest 上传文件
  3. 将该文件与 SQL 中的记录关联(通过移动服务)

第二步似乎相当简单,因为我不必担心 CORS。第三步似乎应该相当简单,只要上传的返回给我某种类型的标识符。另一种可能性是我在上传文件之前为文件生成一个唯一的名称。真正的问题是第一步。如何生成 SAS?

我已经查看了StackOverflow和Google上的答案,我看到了很多例子。但是,它们似乎都在处理 C#,或者它们假设我在浏览器中(因此存在 CORS 问题)。既然我要在本地运行,我该怎么办?

所以,我的问题是:

  1. 如何生成 SAS?我是否必须为此创建一个 Web 服务?如果是这样,有没有我可以快速下载并使用的?
  2. 我对#2和#3的假设是否正确?你知道有没有好的例子?

由于您使用的是移动服务,因此您已经获得了 Web 服务(毕竟,移动服务是后端服务)。您需要做的是在那里编写一些代码,这些代码将返回 SAS。可以使用 node.js 或 C# 编写该代码。有关示例,请参阅此处:Upload images to Windows Azure Storage by using Mobile Services 。此示例实质上是在移动服务中创建 SAS 并返回到客户端。然后,客户端可以获取它并将图像上传到 Blob 存储。

你可能会发现此链接对于 PhoneGap 和 Azure 移动服务集成:http://www.windowsazure.com/en-us/documentation/articles/mobile-services-javascript-backend-phonegap-get-started/很有用。