GOOGLE ADS

суббота, 7 мая 2022 г.

Проблема с загрузкой CSV-файла с помощью приложения ASP.net

Я пытаюсь загрузить CSV-файл приложения ASP.NET из ответа службы. Ответ службы содержит содержимое файла в кодировке base64. Я пытаюсь загрузить как текстовый файл (без разбора) - поэтому установите тип MIME как текстовый/обычный. Имя файла.csv Получение сообщения об ошибке:

Сообщение: сообщение, полученное от сервера, не может быть проанализировано. Распространенными причинами этой ошибки являются изменения ответа вызовами Response.Write(), фильтрами ответа, HttpModules или включенной трассировкой сервера. Подробности: Ошибка синтаксического анализа

Есть ли неправильные значения, переданные для сохранения файла? Означает ли это, что расширение *.csv и приводит к синтаксическому анализу? заранее спасибо

Вот код для сохранения файла:

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.ClearHeaders();
HttpContext.Current.Response.ClearContent();
HttpContext.Current.Response.AddHeader("Content-Length", contentBytes.Length.ToString());
HttpContext.Current.Response.ContentType = contentType; //passed "text/plain"
HttpContext.Current.Response.AppendHeader("content-disposition", "attachment; filename=" + fileName);
HttpContext.Current.Response.Buffer = true;
HttpContext.Current.Response.BufferOutput = true;
HttpContext.Current.Response.BinaryWrite(contentBytes);
HttpContext.Current.Response.Flush();
HttpContext.Current.Response.End();
HttpContext.Current.Response.SuppressContent = true;
HttpContext.Current.ApplicationInstance.CompleteRequest();
```

Решение проблемы

HttpContext.Current.Response.BinaryWrite(contentBytes);

Я думаю, вам нужно сделать Write, а не BinaryWrite:

HttpContext.Current.Response.Write(stringBuilderOrStringNotBinary.ToString());

CSV не является двоичным, и я считаю, что лучше всего указать правильный тип MIME:

HttpContext.Current.Response.ContentType = "text/csv";

Или используйте правильный тип MIME (и расширение) для кодировки base64.

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...