Это займет некоторое разъяснение.
Если файл хранится в базе данных как строка, все, что вам нужно сделать, это прочитать его в строку и отобразить на странице.
public void Page_Load(object sender, EventArgs e)
var text = (from x in dataContext.MyTextTable where x.Id == someId select x.FileText).FirstOrDefault();
this.textBox.Text = text;
}
Хорошо, вот что вам нужно сделать. Псевдокод следует:
Загрузить строку из базы данных
Используйте метод ToCharArray () для строки, чтобы получить массив символов
Используйте объект HttpResponse для записи () массива char в поток ответов
Вот немного почти компилируемый код:
public void Page_Load(object sender, EventArgs e)
{
var text = Repository.GetTextFile(this.FileTextBox.Text).ToCharArray();
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment; filename=" & this.FileTextBox.Text);
Response.AddHeader("Content-Length", text.Length.ToString());
Response.ContentType = "application/octet-stream";
Response.Write(text, 0, text.length);
Response.End();
}
Я считаю, что MIME-тип должен быть таким, а не text / plain, поскольку браузер может попытаться открыть файл, а не сохранить его как вложение.