Nano Hash - криптовалюты, майнинг, программирование

Запись CSV в MemoryStream с использованием LinqToCSV не возвращает никаких данных

Я проверил с помощью System.Text.Encoding.ASCII.GetString(ms.ToArray));, что в моем потоке памяти есть ожидаемые данные.

Однако использование библиотеки nuget LinqToCSV не приведет к созданию моего CSV-файла. Я не получаю никаких ошибок или исключений. Я просто получаю пустой файл, когда мне предлагается открыть файл.

Вот мой метод действий

 public FileStreamResult  Export(){

        var results = _service.GetProperties().Take(3);
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        System.IO.TextWriter  txt = new System.IO.StreamWriter(ms); 


        CsvFileDescription inputFileDescription = new CsvFileDescription{
            SeparatorChar =',',
            FirstLineHasColumnNames = true
        }
            ; 

        CsvContext csv = new CsvContext();

        csv.Write(results,txt,inputFileDescription);



        return File(ms , "application/x-excel"); 
    }

Мне кажется интересным, если я изменю возвращаемый тип на contentResult, а метод возврата на Content() и передам его System.Text.Encoding.ASCII.GetString(ms.ToArray));, я получу окно браузера, показывающее мои данные.


Ответы:


1

Убедитесь, что вы сбросили позицию потока на 0. Также убедитесь, что перед этим вы сбросили StreamWriter.

15.03.2013

2

Вызов метода веб-API для возврата файла CVS из JavaScript.

public HttpResponseMessage Bidreport([FromBody]int formData).....

Заполните свой IEnumerable<YourObject>query = из запроса LINQ.... Вот как его вернуть:

 using (var ms = new MemoryStream())
            {
                using (TextWriter txt = new StreamWriter(ms))
                {
                    var cc = new CsvContext();
                    cc.Write(query, txt, outputFileDescription);
                    txt.Flush();
                    ms.Position = 0;
                    var fileData = Encoding.ASCII.GetString(ms.ToArray());
                    var result = new HttpResponseMessage(HttpStatusCode.OK) {Content = new StringContent(fileData)};
                    result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-excel");
                    return result;
                }
            }         
12.02.2014
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..