- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所有,我试图在网页中上传一个更大的文件(700MB),其中包含 Form 中的 File html 元素。我想在服务器端可以获取流并将其上传到Azure存储中。这是服务器端的一些代码片段。
public void UploadFile()
{
Stream source = Request.InputStream;
long copiedByteCount = 0;
byte[] buffer = new byte[2 * 1024];
for (int len; (len = from.Read(buffer, 0, buffer.Length)) > 0; )
{
//Begin to write buffer to Azure.
....(I am still searching the BlockBlob code sample in google.)
//
copiedByteCount += len;
}
}
我的问题是
1.I hope the app does not eat all the memory ,so read the stream by block. I don't know if it work as my wish.
2.Can someone help to give some example How to write all the buffer blocks into BlockBlob in parallel.
谢谢。
最佳答案
首先您必须知道,要允许 700MB 上传,您需要在 web.config 中允许此操作:
<system.web>
<httpRuntime executionTimeout="240" maxRequestLength="716800" />
</system.web>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="716800" />
</requestFiltering>
</security>
</system.webServer>
每当有人上传大于 256KB 的文件(这是默认值)时,该文件就会缓冲到磁盘(记录为 here )。所以您不必担心传入的文件。
要将此文件上传到 blob 而不将其加载到内存中,您只需使用 HttpPostedFile 的流并将其转发到存储客户端即可:
var blob = container.GetBlockBlobReference(blobName);
blob.UploadFromStream(Request.Files[0].InputStream);
最后,如果您想并行上传 blob,您可以从此页面上的代码开始:Blob Parallel Upload and Download (您需要更改 UploadFileToBlobAsync 方法以接受流而不是文件名)。
关于file-upload - 在 Windows Azure 网站上传大文件时如何使用 BlockBlob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12550948/
当我调用“await blockBlob.UploadFromStreamAsync(stream);”时,我发现该流的内容长度为某个值(500+字节)。 但是一旦调用,我发现 blockblob 中
我目前正在尝试 Azure TableStorage,并有一个关于 BlockBlob 的问题:我可以使用 REST 按 BlockID 下载特定的 BlobBlock(以及如何下载)吗? 我认为它可
我目前正在尝试 Azure TableStorage,并有一个关于 BlockBlob 的问题:我可以使用 REST 按 BlockID 下载特定的 BlobBlock(以及如何下载)吗? 我认为它可
我正在尝试从 Azure BlockBlob 获取“内容类型”。好像不行。 如您所见,该文件的“内容类型”是“image/jpeg”。 var cloudConn = Syst
我正在使用 C# 中的 Microsoft.WindowsAzure.Storage.* 库。 这就是我将内容上传到存储的方式: // Store in storage CloudStorageAcc
我无法确定 BlockBlob 是否根本不存在或包含未提交的 block 。 请检查以下代码: private CloudBlobContainer _blobContainer; private a
我一直在尝试使用 Insomnia 将元数据更新到我的 BlockBlob。我已设法使用 header 清除元数据(参数 json 为空): enter image description here
我想将 Blob 类型从 Append Blob 更改为 BlockBlob。根据How to convert from Azure Append Blob to Azure Block Blob这不
我想使用“经典”日志方法将文本行写入文本文件。我不想将其保存在本地,而是想将数据写入 blockblob。这是代码: CloudStorageAccount storageAccount = Clou
根据标题,我有一个程序,我尝试使用 PutBlock 方法添加到现有的 BlobkBlob: private static void UploadNewText(string text)
所有,我试图在网页中上传一个更大的文件(700MB),其中包含 Form 中的 File html 元素。我想在服务器端可以获取流并将其上传到Azure存储中。这是服务器端的一些代码片段。 publi
所有,我试图在网页中上传一个更大的文件(700MB),其中包含 Form 中的 File html 元素。我想在服务器端可以获取流并将其上传到Azure存储中。这是服务器端的一些代码片段。 publi
我正在使用azure-sdk-for-python BlobClient start_copy_from_url 将远程文件复制到本地存储。 但是,文件最终总是作为 AppendBlob 而不是 Bl
我最近遇到了一个错误,或者至少是通过 .NET 客户端使用的 BlockBlob 的一个非常奇怪的行为。 基本上,写入和刷新的特定组合会损坏文件,如果您在写入后读回它,则响应流包含垃圾(更准确地说,它
我还没有找到一个有效的例子。我的以下示例告诉我 createBlockBlob 方法未定义。 注意:我也尝试过 createBlockBlobFromLocalFile 并传入文件名,但仍然没有成功。
我还没有找到一个有效的例子。我的以下示例告诉我 createBlockBlob 方法未定义。 注意:我也尝试过 createBlockBlobFromLocalFile 并传入文件名,但仍然没有成功。
我想使用 Azure REST API 在 Azure 上的 Blob 上设置一些自定义元数据属性。文件上传工作正常(也通过 REST API 完成)。为了设置我的自定义元数据,我遵循 these i
在处理 Azure Blob 存储时,每个 Blob 数据都有元数据,但没有办法向每个 block 添加元数据。 在我们的例子中,有一些数据我们希望将其与实际 block 内容分开,但在创建时仍附加到
我是一名优秀的程序员,十分优秀!