Не так сложно найти, как это сделать. В основном я пытаюсь взять строку и позволить клиенту сохранить ее, когда они нажимают кнопку. Он должен появиться с помощью диалога "Сохранить/Открыть". Никаких дополнительных звонков и свистков. Это не ракетостроение ((так я и думал).
Кажется, есть много разных способов (StreamWriter, HttpResponse и т.д.), но ни один из примеров, с которыми я не смог найти работу или объяснить, что происходит. Спасибо заранее.
Пример одного из многих блоков кода, которые я нашел...
(Это просто пример, не стесняйтесь основывать свой ответ на это.)
String FileName = "FileName.txt";
String FilePath = "C:/...."; //Replace this
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath);
response.Flush();
response.End();
Строка 2 говорит о замене этой строки. Как? Этот код рекламировался как создание диалога. Мне не нужно устанавливать путь в коде, правильно?
РЕДАКТИРОВАТЬ: окончательный результат (снова отредактирован, Delete должен быть до конца();)
string FilePath = Server.MapPath("~/Temp/");
string FileName = "test.txt";
// Creates the file on server
File.WriteAllText(FilePath + FileName, "hello");
// Prompts user to save file
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
response.ClearContent();
response.Clear();
response.ContentType = "text/plain";
response.AddHeader("Content-Disposition", "attachment; filename=" + FileName + ";");
response.TransmitFile(FilePath + FileName);
response.Flush();
// Deletes the file on server
File.Delete(FilePath + FileName);
response.End();