2014-12-22 7 views
0

파일 작업 중이며 실제로 작동시키는 방법을 이해하지 못합니다.원격 서버에서 파일의 전체 경로

나는 웹 응용 프로그램 (C#)이 서버에 있으며 사용자는이 응용 프로그램을 사용하여 파일의 일부 정보를 업로드합니다. 사용자가 자신의 로컬 컴퓨터에서 파일 (HttpPostedFileBase 클래스 사용)을 업로드하지만 코드가 서버의 동일한 경로와 일치하려고 시도하고 파일이 서버에 존재하지 않는 문제가 발생하여 그 이유는 사용자가 자신의 로컬 컴퓨터에서 C:\Users\User1\Documents\File.txt에서 파일을 업로드하려고하면 ...

경로의 일부를 찾을 수

말하는 오류가 어떻게 전체를 포함하도록 코드를 작성할 수 있습니다 \\ComputerName\c$\Users\User1\Documnets\File.txt과 같은 컴퓨터 이름과 로컬 드라이브를 포함한 파일 경로.

+1

아마 내가 누락되었지만 ... 파일에 대한 사용자의 로컬 경로가 필요한 이유는 무엇입니까? 이미 파일이 업로드 중임을 명시 했으므로 파일의 원래 경로는 이제 서버에 저장되어 있으므로 무엇이 중요합니까? – Kritner

+0

클라이언트 컴퓨터에서 웹 페이지를 사용하는 경우 FTP 또는 HTTP 파일 업로드 프로토콜을 참조해야합니다. 감사합니다, –

+0

죄송합니다, 내 잘못, 내가 파일을 업로드하지 않습니다. 파일을 서버에 저장하려고합니다. 내 드라이브가 제대로 매핑되어 있으면 문제가 없지만 파일을 저장하려면 복사 할 곳과 복사 할 곳을 알아야합니다. 이 경우 클라이언트 컴퓨터이기 때문에 파일을 성공적으로 업로드하기위한 전체 경로가 표시되지 않습니다. – MarinaS

답변

7

수 없습니다. 클라이언트와 서버는 서로 연결이 끊어집니다. 이것이 웹의 작동 방식입니다. 전체 클라이언트 경로를 가져 와서 서버에서 어떤 방식 으로든 액세스 할 수는 없습니다.

가장 좋은 이유는 보안/신뢰입니다.

+0

전체 경로를 알지 못하는 것보다 클라이언트 컴퓨터에서 서버로 파일을 저장하려면 어떻게해야합니까? – MarinaS

+0

필요에 따라 서버의 어딘가에 저장해야합니다. 가장 쉬운 방법은 파일 경로를 직접 만들고 ['HttpPostedFileBase.SaveAs']를 사용하여 저장하는 것입니다 (http://msdn.microsoft.com/en-us/library/system.web.httppostedfilebase.saveas (v = vs.110) .aspx). –

+1

정확히 동일한 것을 시도하고 있습니다 : var fileLocation = Path.Combine (Path.GetTempPath(), string.Join (Guid.NewGuid(). ToString(), files.FileName)); files.SaveAs (fileLocation); 그러나 경로의 일부가 발견되지 않는다는 메시지가 저장되지 않습니다. – MarinaS