Filehelpers writeStream записывает только первые 2048 символов для вывода

#c# #asp.net #csv #filehelpers

#c# #asp.net #csv #filehelpers

Вопрос:

Я использую библиотеку Filehelpers и вывожу свой CSV с помощью метода writeStream. Он работает нормально, за исключением того, что файл прерывается в середине данных, и при открытии файла он содержит только первые 2048 символов. Как мне заставить его выводить весь набор данных?

 // gisList is a list of objects whose class is set to be a [DelimitedRecord(",")]

var gisEngine = new FileHelperEngine<GisRecord>();
var gisstream = new MemoryStream();
var gisstreamWriter = new StreamWriter(gisstream);
gisEngine.WriteStream(gisstreamWriter, gisList);
gisstream.Position = 0;
Response.ContentType = @"application/x-msdownload";
Response.AppendHeader("content-disposition", "attachment; filename=gisOutput.txt");
var reader = new StreamReader(gisstream);
Response.Write(reader.ReadToEnd());
Response.Flush();
Response.End();
  

Ответ №1:

Я понял это.

Я установил для свойства Streamwriter Autoflush значение true и удалил «Ответ.Строка «Flush», и теперь она выводит весь объем данных.