2013-08-15 2 views
-5

C#의 FileUpload.SaveAs() 함수를 사용하여 파일을 서버에 업로드하지만 다른 파티션에 파일을 저장하려고합니다. 이제 C 드라이브 인 현재 드라이브에 서버의 D 드라이브에 파일을 저장하겠습니다. 의견을 공유하십시오. 고마워요.C# 서버의 다른 파티션에 파일 업로드

내가 전체 경로 등

FileUpload.SaveAs("D:\FileUpload"); 

를 사용하여 웹 서버 외부 파일을 저장할 것을 배웠습니다.

체크 아웃 this.

질문을 간단히하기 위해 웹 응용 프로그램을 호스팅하는 서버의 다른 파티션에 파일을 업로드하려면 어떻게해야합니까?

+0

가 있습니까 인증을 위해 관리자 자격 증명을 제공함으로써이 문제를 해결 : 당신은 잠재적으로 깨끗하게 파일의 경로를 구축하거나 문자열로 직접 하나를 지정하는 Path 객체를 사용할 수 있습니다 특정 문제가 있습니까? 그렇다면 코드를 보여주고 문제의 세부 정보를 알려주십시오. –

+0

그런 다음 다른 경로를 지정하십시오 .... – musefan

+0

방금 ​​다른 경로를 지정하면. 서버 외부에 저장됩니다. 클라이언트 컴퓨터에 업로드됩니다. – abc

답변

0

는 IIS의 가상 디렉터리를 사용하고

0

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.saveas.aspx의 설명서를 기반으로 String filename은 저장할 위치의 전체 경로 이름입니다. 예를 들면 다음과 같아야합니다.

FileUpload.SaveAs("D:\where_you_want_to_save") 

그런데 어떻게 시도했는데 어떤 오류가 발생 했습니까?

+0

오류가 없지만 그것은 서버에 클라이언트 컴퓨터에 저장됩니다. – abc

+0

그런 일이 있어서는 안되는 정보를 더 제공해야합니다. 그 방법은 어디에 있습니까? – zulq

+0

코드는 응용 프로그램을 실행중인 현재 컴퓨터의 디렉터리에만 파일을 저장합니다. 웹 응용 프로그램을 호스팅하는 서버의 다른 파티션에 저장해야합니다. – abc

0

example on MSDN에서 보면 .SaveAs()은 매개 변수로 정규화 된 파일 이름을 사용하는 것으로 보입니다.

uploader.SaveAs("d:\\someFolder\\someFile.ext"); 
+0

방금 ​​다른 경로를 지정하면. 서버 외부에 저장됩니다. 클라이언트 컴퓨터에 업로드됩니다. – abc

+0

코드는 응용 프로그램을 실행중인 현재 컴퓨터의 디렉터리에만 파일을 저장합니다. 웹 응용 프로그램을 호스팅하는 서버의 다른 파티션에 저장해야합니다. – abc

+0

@rbenitez : 위의 설명에서와 같이 "응용 프로그램을 실행중인 현재 컴퓨터"는 * "응용 프로그램을 호스팅하는 서버"입니다. 어떤 컴퓨터가 * 코드 *를 실행하든간에 서버입니다. 서버는 디자인 상 * 클라이언트에 파일을 저장할 수 없습니다. 웹 서버는 웹 클라이언트의 로컬 파일 시스템에 쓸 수 없습니다. HTTP가 그렇게 작동하지 않습니다. – David

관련 문제