2013-04-23 3 views
2

안녕하세요, 공유 네트워크로 파일을 복사하려고하는데 오류가 계속 발생합니다. The filename, directory name, or volume label syntax is incorrect. 누군가 내가 잘못하고있는 것을 잡을 수 있습니까? 또한 내 응용 프로그램은 ASP.NET MVC3, 감사를 사용하여 실행 중입니다!C:\log\12345.pdf
Properties.Settings.Default.SharedMappedOutput 경로 :\\vfler_xx\evl_xx\VT\

복사 코드
파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다. - 공유 네트워크 드라이브 매핑 (ASP.NET MVC3 C#)

File.Copy(@path, @Properties.Settings.Default.SharedMappedOutput); 

경로는 매개 변수입니다. 내가 SharedMappedOutput (디렉토리)


추가 정보

  • 윈도우 서버에 Path (파일 이름)에서 2008 R2를 파일을 복사 할
  • 7.5을 IIS : 내가 달성하고 싶다 무엇

  • ASP.NET MVC3 C#

편집
나는 @ 스티브의 도움으로 내 코드를 변경,하지만 지금은 내가 지정하지 않은 경로에 액세스 할 수없는 말을한다. 나는이 경로를 지정하지 않은
Access to the path 'c:\windows\system32\insetsrv\12345.pdf' is denied

String dest_path = Properties.Settings.Default.SharedMappedOutput; 
File.Copy(@path, Path.Combine(dest_path, Path.GetFileName(path))); 

오류는, 나는이 경로에 액세스하려고하는 이유를 모르겠습니다. 새로운 문제 https://stackoverflow.com/questions/16179585/iis-acccess-to-the-path-c-windows-system32-inetsrv-12345-pdf-is-denied


-

링크 감사합니다. 이 질문에 대해 질문이나 오해가있을 경우 알려주십시오. 다시 미리 감사드립니다.

답변

2

File.Copy는 디렉터리를 다른 디렉터리로 복사하지 않고 파일 이름 만 복사합니다.

당신의 c:\log 디렉토리의 이름 만 보인다과 documentation at MSDN에 의해 명시된 바와 같이이이

string destPath = Properties.Settings.Default.SharedMappedOutput; 
foreach (string aFile in Directory.GetFiles(path, "*.*")) 
    File.Copy(aFile, Path.Combine(destPath, Path.GetFileName(aFile))); 

를 작성할 수

소스 경로에있는 모든 파일을 복사하려면 작동하지 않습니다 EDIT 실제 소스 이름에 대한 주석을 볼 때 대상은 파일 이름이 아니고 디렉토리 여야하기 때문에 여전히 부분적으로 유효합니다.대답은

string sourceFile = @"C:\log\12345.pdf"; 
string destPath = Properties.Settings.Default.SharedMappedOutput; 
File.Copy(sourceFile, Path.Combine(destPath, Path.GetFileName(sourceFile))); 
+0

불편을 끼쳐 드려 죄송합니다. 첫 번째 매개 변수는 파일 이름입니다. 답장을 보내 주셔서 감사합니다 – AustinT

+0

글쎄, 목적지도 파일이 아니라 경로 여야합니다. 목적지 파일 이름이 어떻게 만들어 지는지 내 대답을 봐라. – Steve

+0

좋아, 그래서 내가 하나의 파일을 처리 할 때 그것은'File.Copy (path, Path.Combine (destPath, Path.GetFileName (path))); 그 맞습니까? – AustinT

0

가되도록 이것은 내가 정확히 기억 경우 UNC 경로를 사용하여 함께 할 수있는 뭔가가. 매핑 된 드라이브로 공유를 매핑하면 매력처럼 작동합니다.

여기에 unc 경로를 매핑 된 드라이브에 매핑하는 예가 나와 있습니다. http://www.codeproject.com/Articles/6847/Map-Network-Drive-API

+0

흠. 답장을 보내 주셔서 감사합니다! 얼마나 정확하게 매핑 된 드라이브로 공유를 할 수 있습니까? – AustinT

관련 문제