2010-07-09 7 views
1

MVC에서 파일 브라우저 대화 상자로 <input type="file" />을 사용하고 있습니다. 실제로 파일을 업로드하고 싶지는 않지만 공유 드라이브에서 템플릿을 선택하는 데 사용하고 있습니다. 난 단지 내 행동 방식에서 전체 파일 경로를 얻고 싶다. 그런 다음 서버는 파일을 처리하고 클라이언트로 강제 다운로드합니다. HttpPostedFileBase 개체를 보유하고 있지만 파일 경로 속성이 표시되지 않습니다. 이것이 가능한가? 그렇지 않은 경우 사용할 수있는 다른 옵션은 무엇입니까?ASP.NET 파일 브라우저에서 파일 경로 가져 오기

답변

1

보안 문제로 파일 업로드 상자에서 파일의 전체 경로를 가져올 수 없습니다. 브라우저는 전체 경로를 전달하지 않으며 파일 이름 만 전달합니다.

또한 파일 업로드 상자는 항상 파일을 업로드합니다. 안타깝게도 전체 경로의 보안 문제와 마찬가지로 파일 대화 상자를 표시하고 사용자가 업로드를 시작하지 않고 파일을 선택하도록 할 수있는 방법이 없습니다.

0

입력시 onchange javascript 이벤트를 추가하고 값을 숨김 필드에 쓸 수 있습니다. 그런 다음 숨겨진 필드에서 값을 읽으십시오. 그것은 입력 필드의 텍스트 상자 부분에있는 모든 것을 포함합니다.

<input type="file" name="fileUploader" id="fileUploader" onchange="filePath.value = fileUploader.value;" /> 
<input type="hidden" name="filePath" id="filePath" /> 

내가 MVC와 그것을보고하지 않은하지만 ASP.Net에 내가 뒤에 입력 필드를 사용 후 코드에서 그 값을 읽을 수 있어요.

희망이 도움이됩니다.