我在使用ASP.NET MVC5上传大文件(> 2GB)时遇到了一些麻烦,但我设法通过使用jQuery将该文件拆分为数据包并分别上传每个数据包来修复它。在我的后端,我想将这些数据包上传到Azure Blob存储。有没有办法将这些字节附加到已经存在的blob?我在互联网上找到的大多数解决方案建议下载blob,添加字节并重新上传它们。但是我认为,因为你一直下载并重新上传文件,所以浪费了带宽
答案 0 :(得分:2)
尝试使用追加blob。 https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/#writing-to-an-append-blob处有一个代码示例。从该页面:
append blob是一种新类型的blob,与.NET的Azure存储客户端库的5.x版一起引入。附加blob针对追加操作进行了优化,例如日志记录。与块blob一样,追加blob由块组成,但是当您向追加blob添加新块时,它总是附加到blob的末尾。您无法更新或删除追加blob中的现有块。附加blob的块ID不会像块blob那样公开。
附加blob中的每个块可以是不同的大小,最大为4 MB,附加blob最多可包含50,000个块。因此,追加blob的最大大小略大于195 GB(4 MB X 50,000块)。
答案 1 :(得分:0)
Azure Blob存储支持从已上载(和已提交)的blob中的现有块重新组合新blob,并将这些现有块与您上载的新块组合在一起。可以自由选择块的顺序,因此您可以附加新块或插入新块。
追加blob主要用于不断向对象添加数据的应用程序。
要获得概述,请查看here。