2013-01-24 3 views
2

asp.net의 파일 업로드 기능을 사용하여 파일의 전체 경로를 가져 오려고합니다. Visual Basic 2010에서 C#을 사용하는 웹 사이트 프로젝트에서 작업하고 있습니다. 전체 경로를 원하는 이유는 실제로 파일을 포함하는 폴더에 대한 정보를 얻으려고하기 때문에 계획 내용이 내용을 비교하기 때문입니다. 타사 비교 도구 인 UltraCompare를 사용하여 두 개의 폴더를 비교 한 다음 해당 비교 결과를 데이터베이스에 전송할 수 있습니다.asp : file upload에서 파일의 전체 경로를 얻는 방법?

이상적으로는 사용자가 파일보다는 폴더를 검색 할 수있게 해주는 기능이 필요하지만 인터넷 검색에서 알 수있는 한 .net 4.0은 버전이 아닙니다. 내가 사용하고있어.

파일 업로드 컨트롤을 전혀 사용하지 않아도되는지 모르겠습니다. 디렉토리의 파일 경로 만 있으면됩니다. 그러나 사용자가 전체 파일 경로를 입력하는 대신 GUI 브라우저 창을 사용하여 파일을 검색 할 수있는 기능이 필요합니다.

저는 분명히 C# .net과 프로그래밍을하는 거대한 멍청한 사람입니다. 그래서 어떤 충고 나 제안도 크게 감사 할 것입니다. 다음은 다른 곳에서 복사하여 붙여 넣은 샘플 코드입니다. 코멘트의 내용은 파일 경로를 가져 오는 다른 방법을 시도해 본 것입니다 (실패한 경우).

if (File1.HasFile) 
     { 
      try 
      { 
       //string filepath1 = Path.GetFullPath(File1.PostedFile.FileName); 
       string filepath1 = Path.GetFileName(File1.FileName); 
       File1.SaveAs(Server.MapPath("~/") + filepath1); 
       //StatusLabel.Text = "Upload status: File(s) uploaded!"; 
       Response.Write("Upload status: File(s) uploaded! <br />"); 
       Response.Write(filepath1); 
      } 
      catch (Exception ex) 
      { 
       StatusLabel.Text = "Upload status: The file(s) could not be uploaded. The following error occured: " + ex.Message; 
       //Response.Write("Upload status: The file(s) could not be uploaded. The following error occured: " + ex.Message + "<br />"); 
      } 
+1

따라서 컨트롤이있는 웹 페이지가 있습니다. 파일 자체를 가져 오는 대신 파일이있는 폴더를 사용자의 컴퓨터에서 가져오고 싶습니까? –

+0

http://weblogs.asp.net/ashicmahtab/archive/2009/05/20/fileupload-control-doesn-t-give-full-path-help.aspx (한편으로 IE는 배웠으나 어쨌든 읽을 가치가 있습니다) –

+0

@ mori57 실제로 다음과 같이 보입니다 : 그래야만 할 일입니다 – user1985189

답변

4

html은 원본 파일 이름 이외의 것을 제공하지 않습니다. 폴더 경로 또는 속성과 같은 추가 정보는 클라이언트의 보안 및 개인 정보를 침해합니다. 이후에 나오는 데이터를 얻으려면 activex 컨트롤이나 adobe 플래시와 같은 다른 것을 사용해야합니다.

+3

나는 Flash가 파일의 디렉토리 내용을 줄 것이라고 생각하지 않지만, 그 beastie를 프로그래밍 해본 이후로 잠시있었습니다. 그럼에도 불구하고, 이것이 내가 위에서 운전했던 요점이기도합니다 ... 사용자의 컴퓨터 (클라이언트 측)에서 서버로의 비교를 수행하는 것은 보안 샌드 박싱으로 인해 일반 HTML 및 자바 스크립트를 사용하여 허용되지 않습니다. –

+0

@ mori57 : 플래시에 대해서도 잘 모르겠습니다. 그 능력을 살펴본 지 오래되었습니다. –

+0

이 경우 폴더를 직접 업로드하거나 선택할 수있는 방법이 있습니까? 폴더가 기술적으로 파일이기 때문에 일종의 폴더 업로드 컨트롤도 없을 것이라고 우스꽝스럽게 보인다! – user1985189

관련 문제