编程语言
首页 > 编程语言> > 使用Javascript将Largefile上载到Azure Blob

使用Javascript将Largefile上载到Azure Blob

作者:互联网

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

解决方法:

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

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

>首先创建一个共享访问签名URL(SAS),至少在要上载文件的blob容器上具有写入权限.由于您要上传大文件,我建议保持SAS到期时间足够长.
>接下来在您的存储帐户上启用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/.
>我写了一篇关于将非常大的文件上传到blob存储的博客文章,你可以在这里阅读:http://gauravmantri.com/2013/02/16/uploading-large-files-in-windows-azure-blob-storage-using-shared-access-signature-html-and-javascript/.一旦你的存储帐户启用了CORS,博客中提到的代码应该可以正常工作.

实际上有一种方法虽然有一些先决条件/警告.

>由于Blob存储中尚不支持CORS,因此您的HTML和JS文件需要存在于同一个blob存储帐户中.它们应该在公共blob容器中.
>由于您要上传大文件,因此需要将它们拆分为小于4 MB的块. HTML 5有一个File API,可以将文件拆分成块,但并非所有浏览器都支持此功能.

我前段时间写了一篇关于使用纯JavaScript和共享访问签名上传大文件的博客文章.你可以在这里阅读那篇文章:http://gauravmantri.com/2013/02/16/uploading-large-files-in-windows-azure-blob-storage-using-shared-access-signature-html-and-javascript .

标签:jquery,javascript,asp-net-mvc,azure,azure-storage
来源: https://codeday.me/bug/20190713/1454478.html