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

Upload File/s From Client To Azure Blob Storage | MVC

本文关键字:Blob 存储 MVC Azure 文件 客户端 上载      更新时间:2023-09-26

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

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

  1. maxRequestLength="2097151"
  2. executionTimeout="3600"
  3. maxAllowedContentLength="4294967295"

现在我明白这不是办法。

因此,我想要的是能够直接将用户文件上传到我的Azure Blob存储,而无需将文件上传到网站。

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

我需要在不经过服务器的情况下将文件传输到blob存储。

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

CORS和SAS是正确的方法。我建议阅读《创建和使用带Blob服务的SAS》一文作为介绍。另请参阅我们在Build 2014上的演示,了解使用CORS和SAS在JavaScript中列出和下载blob的示例应用程序。