逐行将文本文件写入azure网站

时间:2014-04-08 17:22:12

标签: azure azure-storage azure-storage-blobs streamwriter

我有一个网络应用程序,我需要更改以使用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>

1 个答案:

答案 0 :(得分:2)

您拥有本地磁盘访问权限,您可以在其中构建新文件,这完全取决于您现在的操作方式。构建完文件后,您只需将文件复制到blob(通过blob REST API支持 ,并由.NET SDK和其他语言SDK包装)。只需查看CloudBlockBlob类以及方法UploadFromFileUploadFromFileAsync(还有从流上传的方法)。

还有一个支持阅读和写作的CloudBlobStream课程。