【发布时间】:2023-04-09 07:33:01
【问题描述】:
我们使用带有 Javascript (Node.js) 后端的 Azure 移动服务。前端是 HTML/Javascript,作为 Azure Web App 运行。我们想使用 Azure Blob 存储来存储文件(从前端上传)。我搜索了一个实现此场景的工作示例,但我找不到它。有 .NET 后端或 Android/Windows Phone 前端的示例。作为一种解决方法,可以将文件发布到移动服务并从那里进行存储,但移动服务 api 主体有 1MB 的限制。我知道我必须使用共享访问签名 (SAS),但我不知道如何实现它。从移动服务生成网址有效。但是在客户端使用时不接受。
提前感谢您的帮助!
【问题讨论】:
-
如果您的前端在服务器端有代码,您可以轻松使用 azure storage SDK 生成 SAS 并与 Azure 存储github.com/Azure/azure-storage-node 对话(我假设您正在运行 nodejs)
-
您好小敏,服务器端是带有 JavaScript (node.js) 的 Azure 移动服务。可以使用 Azure 存储 SDK 在那里生成 SAS,但是当我在前端使用这个 SAS(纯 JavaScript)时它不起作用。授权错误。
-
如果您尝试直接从客户端 javascript 代码访问 azure stroage,您将遇到跨源问题。我相信您将需要配置您的存储帐户。 msdn.microsoft.com/en-us/library/azure/…
-
是的 CORS 也是一个问题,但即使我将 chrome 与 --disable-web-security 一起使用,我也会遇到身份验证错误(授权标头签名)
-
您是否配置了存储帐户?要启用 CORS,您的帐户中需要有 CORS 规则。请参考我上面发布的链接
标签: node.js azure azure-web-app-service azure-mobile-services azure-blob-storage