【发布时间】:2014-04-08 17:22:11
【问题描述】:
我需要更改一个 Web 应用程序才能使用 Windows Azure 网站。上传并解析两个文本文件,然后将第三个文件与解析的数据逐行写入。我发现无法将文件直接上传到 Azure 网站,需要使用 Blob 存储。这很简单。我找不到的是如何将文本文件逐行写入 Blob,或者可能会有更好的解决方案?我需要重新创建此代码以使用 Azure 网站:
using (var writer = new StreamWriter(filePath, false))
{
foreach (Product product in pm.GetAll())
{
fp = pm.MakeFinal(product);
curLine.Append(fp.InventoryNumber + "\t");
curLine.Append(fp.SellerCost + "\t");
curLine.Append(fp.RetailPrice + "\t");
curLine.Append(fp.StartingBid + "\t");
curLine.Append(fp.BINPrice + "\t");
curLine.Append(fp.CAPrice + "\t");
curLine.Append(fp.Weight + "\t");
curLine.Append(fp.Length + "\t");
curLine.Append(fp.Width + "\t");
curLine.Append(fp.Height + "\t");
curLine.Append(fp.Brand + "\t");
curLine.Append(fp.Manufacturer + "\t");
curLine.Append(fp.MPN + "\t");
curLine.Append(fp.Quantity);
writer.WriteLine(curLine.ToString());
}
}
是否可以使用流写入器将文本文件逐行写入 Azure Blob。如果没有,有什么好的替代方法可以做到这一点?
编辑 ------------------
这没有回答我提出的问题,但我不再需要使用 Azure blob 存储。我在 web.config 中添加了以下内容,两个文件都可以正常上传,第三个文件也可以正常创建:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2000000000" />
</requestFiltering>
</security>
【问题讨论】:
-
您为什么这么说:我发现我无法将文件直接上传到 Azure 网站?
-
@AmitApple 我有两个文件需要上传,一个是 1.75mb,另一个是大约 45mb。 1.75 mb 文件上传正常,但由于某种原因,当我通过 ftp 验证时,45mb 文件没有显示在上传目录中。
-
这表示 azure blob 不能超过 4mb 或者它们需要被分割成块。 dvanderboom.wordpress.com/2009/02/21/…
-
更正:Blob 可能高达 200GB。所有 blob 都由块(或页面,对于页面 blob)组成。 blob 中的每个 block 限制为 4MB。有关详细信息,请参阅this article。
标签: azure azure-storage azure-blob-storage streamwriter