Сохранить строку на клиент с помощью диалога Open / Save - PullRequest
0 голосов
/ 08 августа 2010

Я использую следующий код для записи содержимого строки (преобразованной в байтовый массив) клиенту в ASP.NET/C#

byte[] data = StrToByteArray(strData);
Response.ClearContent();
Response.AppendHeader("content-length", data.Length.ToString());
Response.ContentType = "text/plain";
Response.AppendHeader("content-Disposition", "attachment;filename=" + fileName);
Response.BinaryWrite(data);
Response.Flush();

fileName - это имя файла, заканчивающееся нарасширение файла (.pgn).Однако файл сохраняется как файл .txt, игнорируя расширение, которое я ему даю.Связано ли это с Response.Contenttype = "text / plain"?Как получить диалоговое окно «Открыть / Сохранить» для отображения и сохранения правильного (.pgn) имени файла?

Кроме того, если имя файла представляет собой строку, разделенную тире или пробелами, при появлении диалогового окна «Открыть / Сохранить»имя файла не отображается полностью, но оно обрезается там, где встречается первая тире (-) или пробел (или запятая).Как это можно исправить?

1 Ответ

0 голосов
/ 08 августа 2010
  1. Да, он сохраняет .txt из-за вашего типа контента (MIME-тип).Используйте image / png.

  2. Как насчет удаления черточек и пробелов?String.Replace это здорово.fileName.Replace ("-", "");и т. д.

...