Запись текстового файла на веб-сайт azure строка за строкой
У меня есть веб-приложение, которое мне нужно изменить для работы с веб-сайтами Windows Azure. Два текстовых файла загружаются и анализируются, затем третий файл записывается строка за строкой с анализируемыми данными. Я обнаружил, что не могу загружать файлы непосредственно на веб-сайт Azure и должен использовать хранилище 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. Я добавил в свою паутину следующее.config и оба файла загружаются нормально, третий файл также создается нормально:
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2000000000" />
</requestFiltering>
</security>
1 ответ:
У вас есть доступ к локальному диску, где вы можете построить свой новый файл точно так, как вы делаете это сейчас. Как только вы закончите создание файла, вы можете просто скопировать файл в большой двоичный объект (который поддерживается через API REST большого двоичного объекта и завернут в .NET SDK и другие языковые SDK). Просто посмотрите на класс
CloudBlockBlob
и методыUploadFromFile
иUploadFromFileAsync
(есть также методы для загрузки из потока).Есть также класс
CloudBlobStream
, который поддерживает чтение и запись.