gpt4 book ai didi

javascript - 使用 Javascript 将大文件上传到 Azure Blob

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:54:55 24 4
gpt4 key购买 nike

我见过一些将文件传输到服务器端然后上传到 Azure Blob 存储的示例。
但我的文件大小只有几 GB。
有没有办法可以使用客户端脚本将文件直接上传到 Azure Blob 存储,而不是从服务器端上传,以节省时间。

最佳答案

更新我的答案,现在 Windows Azure 存储支持 CORS,并且 OP 尚未接受任何答案:)。

是的,可以将大文件直接从浏览器上传到 Windows Azure 存储。您可能会发现这些步骤很有用:

  1. 首先创建一个共享访问签名 URL (SAS),对要在其中上传文件的 Blob 容器至少具有写入权限。由于您要上传大文件,我建议将 SAS 过期时间保持足够长。

  2. 接下来在您的存储帐户上启用 CORS。如果您希望以编程方式执行此操作,您可能会发现这篇文章很有用:http://gauravmantri.com/2013/12/01/windows-azure-storage-and-cors-lets-have-some-fun/ 。如果您想使用工具,我的公司已经发布了一个免费工具来实现这一点。您可以阅读有关此工具的更多信息并从此处下载:http://blog.cynapta.com/2013/12/cynapta-azure-cors-helper-free-tool-to-manage-cors-rules-for-windows-azure-blob-storage/ .

  3. 我不久前写了一篇关于将非常大的文件上传到 Blob 存储的博文,您可以在此处阅读:http://gauravmantri.com/2013/02/16/uploading-large-files-in-windows-azure-blob-storage-using-shared-access-signature-html-and-javascript/ 。在您的存储帐户上启用 CORS 后,博客中提到的代码应该可以正常工作。

<删除>实际上有一种方法,尽管有一些先决条件/警告。
  1. 由于 Blob 存储尚不支持 CORS,因此您的 HTML 和 JS 文件需要存在于同一个 Blob 存储帐户中。它们应该位于公共(public) blob 容器中。
  2. 由于您要上传大文件,因此需要将它们分割成大小小于 4 MB 的 block 。 HTML 5 有一个文件 API,可以将文件分割成 block ,但并非所有浏览器都支持此功能。
<删除>我前段时间写了一篇关于使用纯 JavaScript 和共享访问签名上传大文件的博文。您可以在此处阅读该帖子:http://gauravmantri.com/2013/02/16/uploading-large-files-in-windows-azure-blob-storage-using-shared-access-signature-html-and-javascript 。

关于javascript - 使用 Javascript 将大文件上传到 Azure Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19935404/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com