Это потребует некоторого разъяснения.
Если файл хранится в базе данных в виде строки, все, что вам нужно сделать, это прочитать его в строку и отобразить на странице.
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 для Write() массива символов в поток ответа
Вот почти компилируемый код:
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, поскольку браузер может попытаться открыть файл, а не сохранить его как вложение.
person
Community
schedule
17.11.2008