我有一个网络应用程序,我需要更改以使用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());
}
}
是否可以使用streamwriter逐行将文本文件写入Azure Blob。如果没有,那么这样做会有什么好的替代方法呢?
编辑------------------------------
这不回答我问的问题,但我不再需要使用Azure blob存储。我在web.config中添加了以下内容,两个文件都上传得很好,第三个文件也正常创建:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2000000000" />
</requestFiltering>
</security>
答案 0 :(得分:2)
您拥有本地磁盘访问权限,您可以在其中构建新文件,这完全取决于您现在的操作方式。构建完文件后,您只需将文件复制到blob(通过blob REST API支持 ,并由.NET SDK和其他语言SDK包装)。只需查看CloudBlockBlob
类以及方法UploadFromFile
和UploadFromFileAsync
(还有从流上传的方法)。
还有一个支持阅读和写作的CloudBlobStream
课程。