2010-08-05 7 views
0

저는 ASP.NET과 C#을 사용하고 있습니다.ASP.NET에서 업로드 된 파일 검색

나는 문서를 업로드 할 수있는 문서 업로드 페이지를 만들었습니다. 나는 데이터베이스에 세 개의 필드를 저장하고

  1. 문서 이름 [NVARCHAR]
  2. 파일 [이미지]
  3. 의 DocumentType [NVARCHAR]

지금, 나는 레코드를 추가 할 수 있어요 데이터베이스를 성공적으로. 이제 DocumentName, DocumentType 및 파일 다운로드 링크와 같은 gridview에 표시하려고합니다.

레코드를 검색하고 gridview에 할당하여 시도했지만 두 개의 열만 가져옵니다.

+0

과 같이 될 것입니다 당신이 수동으로 파일을 다운로드 할 수있는 링크를 만들 필요가 있다고 생각합니다. 나는'GridView'가 자동으로 이것을 할 수 있다고 생각하지 않는다. – bzlm

+0

나는 이것을 만들었습니다 : Rahul

+0

좋아 보인다. 작동합니까? – bzlm

답변

0

실제 파일을 제공하는 다운로드 처리기를 만들어야합니다.

핸들러는 테이블에서 Binary를 검색 할 수 있으며 쓰기는 출력 스트림에 직접 이루어집니다.

그리드 뷰는 다음 DB에 파일을 저장하고 있기 때문에

+0

어떤 예도 나에게 rediect 할 수 있니? 나는 다운로드 핸들러를 만드는 방법을 모른다. – Rahul

+0

이것을 사용할 수 있습니까? http://aspnetupload.com/Quickstart/Download-From-File.aspx 코드를 linkbutton click 이벤트에 작성합니다. – 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(); 

} 
관련 문제