C# Asp.net пишут файл клиенту

Вы должны иметь возможность запустить команду

git config --system core.longpaths true

или добавить ее в один из ваших файлов конфигурации Git вручную, чтобы включить эту функцию, когда вы используете поддерживаемую версию Git. Похоже, что 1.9.0 и после.

27
задан jim 31 July 2018 в 08:43
поделиться

4 ответа

Вы можете использовать Response.ContentType вот так

Response.ContentType = "text/plain";
Response.OutputStream.Write(buffer, 0, buffer.Length);
Response.AddHeader("Content-Disposition", "attachment;filename=yourfile.txt");

Это, конечно, работает, если вы хотите написать текстовый файл. Если вы хотите написать .doc, например, измените ContentType на «application / msword» и т. Д.

28
ответ дан 28 November 2019 в 04:59
поделиться

Можно.

Попробуйте следующее:

Table oTable = new Table();
//Add data to table.

Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename="test.xls"");
Response.Charset = "";
this.EnableViewState = false;
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.Html32TextWriter oHtmlTextWriter = new System.Web.UI.Html32TextWriter(oStringWriter);
0Table.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.End();

Это предложит пользователю открыть или сохранить файл test.xls. аналогично вы можете предоставить другие объекты ASP.NET вместо таблицы.

17
ответ дан 28 November 2019 в 04:59
поделиться

Да.

page.Response.WriteFile(yourData, 0, yourData.Length);
5
ответ дан 28 November 2019 в 04:59
поделиться

Точный ответ на вопрос зависит от того, как вы организовали свой отчет (т. Е. Какой «объект» вы имеете в виду). Если у вас одна строка, вы можете использовать Response.Write, чтобы просто написать ее. Если вам нужен TextWriter, Response.Output - это то, что вам нужно - таким образом вы можете пропустить запись на диск, а затем использовать WriteFile. Кроме того, если ваш контент оказался двоичным, вы можете использовать для этого Response.OutputStream.

Вы также можете установить Response.AddHeader ("Content-Disposition", "attachment"), если хотите, чтобы пользователь видел диалог сохранения файла. Однако Content-Disposition не обязательно соблюдается, поэтому пользователь может открыть отчет прямо в браузере. Не забудьте установить заголовки перед выводом фактического содержимого!

Кроме того, в зависимости от формата отчета, вы можете установить Response.ContentType на что-нибудь подходящее, например text / plain, text / csv или что-то еще. Правильные типы mime перечислены на сайте IANA .

5
ответ дан 28 November 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: