2010-08-05 4 views
0

Я использую ASP.NET и C#.Извлечь загруженный файл в ASP.NET

Я сделал страницу для загрузки документа, в которой использование может загрузить их документ. Я спасаю три поля в базе данных,

  1. Название документа [NVARCHAR]
  2. файла [Image]
  3. DocumentType [NVARCHAR]

Теперь я могу добавить записи в базы данных, успешно. Теперь я хочу показать его в gridview, например DocumentName, DocumentType и ссылку для загрузки файла.

Я попытался получить записи и присвоить их gridview, но я получаю только два столбца.

+0

Я думаю, вам нужно вручную создать ссылку для загрузки файла. Я не думаю, что «GridView» может сделать это для вас автоматически. – bzlm

+0

Я создал это: Rahul

+0

Выглядит хорошо. Это работает? – bzlm

ответ

0

Вы должны создать обработчик загрузки, обслуживающий фактический файл.

Обработчик может извлечь двоичный файл из таблицы и записать непосредственно в выходной поток.

Вид сетки затем указать этот обработчик

+0

Можете ли вы переделать меня на любой пример. Я не знаю, как создавать обработчики загрузки. – Rahul

+0

Могу ли я использовать это? http://aspnetupload.com/Quickstart/Download-From-File.aspx Я напишу код в событии клика linkbutton. – Rahul

0

Поскольку вы хранением файлов в БД вам придется писать код для чтения данных из файла, добавьте соответствующий заголовок и не response.write

например

на вашем LinkButton обработчик щелчка код будет что-то вроде

private void lnkDownload_Click(object sender,args) 
{ 

//if you are using dataset the data will be of type byte array byte[] 
//assuming you have assign the binary data to byte array 

byte[] data; 
Response.Clear(); //clear buffer 
Response.ContentType = "image/gif"; //should be the MIME type of the document see http://www.w3schools.com/media/media_mimeref.asp for the complete list 
Response.AddHeader("content-disposition", "attachment;filename=" + yourfilename); //tell the browser the file is to be downloaded 
Response.BinaryWrite(data); 
Response.End(); 

} 
Смежные вопросы