2011-04-25 5 views
1

사용자가 웹 응용 프로그램에서 다운로드 할 수있게하려는 구성 요소 세트가 있습니다. 이제는 파일을 app_data에 배치하거나 here과 같이 asp.net 웹 응용 프로그램에 별도의 폴더를 만들거나 다른 최적의 솔루션이 있어야합니까?asp.net의 웹 응용 프로그램에 파일을 저장합니다.

구성 요소가 의미하는 바는 this입니다. 그렇다면 구성 요소를 저장하는 가장 좋은 방법은 무엇입니까?

지금 내가하고있는 일은 : 응용 프로그램 외부의 파일을 더 구체적으로 내 C 드라이브의 문서 폴더에 저장하는 것이고 구성 요소에 대한 경로를 데이터 요소로 저장하는 것입니다. 테이블의 특정 행의 버튼 (그리드보기에서)을 클릭하면 특정 클릭 된 행의 제목이 표시되고 다음 코드 행을 사용하여 해당 구성 요소 제목의 파일 경로에 대한 데이터베이스 테이블을 쿼리합니다.

String filePath = dr1[0].ToString(); //GETS THE FILEPATH FROM DATABASE 
HttpContext.Current.Response.ContentType = "APPLICATION/OCTET-STREAM"; 
String disHeader = "Attachment; Filename=\"" + filePath + "\""; 
HttpContext.Current.Response.AppendHeader("Content-Disposition", disHeader); 
System.IO.FileInfo fileToDownload = new System.IO.FileInfo(filePath); 
HttpContext.Current.Response.Flush(); 
HttpContext.Current.Response.WriteFile(fileToDownload.FullName); 

제대로하고 있습니까? 그것을하는 더 나은/최선의 방법이 있습니까?

+0

'app_data' 기반 파일입니다 디렉터리 검색을 사용하지 않도록 설정하고 거기에 어떤 기본 문서를 배치하지 않음으로써 디렉토리를 "검색"할 수 있음을 보장 할 수 있습니다 데이터베이스. – Oded

답변

1

사용자는 단순히 파일을 다운로드하려면 읽기 권한 만 필요하므로 단순히 "다운로드"라는 디렉토리를 만들고 거기에 배치하면됩니다.

당신은 사람들이 (index.html을 예를 들어 default.aspx에)

1

현재 수행중인 작업은 사이트에서 다운로드를 제공하는 데 상당히 표준적인 방법처럼 보입니다.

나는 "최적"이라고 생각할 수 없습니다.

관련 문제