从客户端上传文件到Azure Blob存储| MVC

时间:2014-09-28 10:31:15

标签: javascript ajax asp.net-mvc file-upload azure-storage-blobs

我有WebApp(MVC4)文件上传,我犯了一个可怕的错误,我让客户端直接将文件上传到我的服务器(Virtual Machine Azure)。

为了做到这一点,我设置了(在WebConfig中):

  1. maxRequestLength="2097151"
  2. executionTimeout="3600"
  3. maxAllowedContentLength="4294967295"
  4. 现在我明白不是这样做的。

    所以我想要的是能够将用户文件直接上传到我的Azure Blob存储,而不会将文件带到我的网站。

    我设法使用C#将文件上传到我的存储空间但是我不想将文件发送到服务器端并在那里处理它们,因为它意味着文件首先上传到服务器然后它们移动到blob存储,这对我不好,因为我正在处理一个非常大的文件。

    我需要将文件传输到blob存储,而无需通过服务器。

    我该怎么做?我没有找到太多关于这个问题的文章,我只是阅读了SAS和CORS,它们有助于解决问题,但没有实际的指导方针。< / p>

1 个答案:

答案 0 :(得分:2)

你是对的,CORS和SAS是这样做的正确方法。我建议阅读Create and Use a SAS with the Blob Service文章作为介绍。另请参阅our demo at Build 2014以获取使用CORS和SAS在JavaScript中列出和下载blob的示例应用程序。