경로에 대한 액세스가 거부되었습니다 c #의 폴더에 이미지를 저장하려고하지만이 예외가 발생합니다. Access

이 질문이 여기에서 여러 번 요청되었지만 내 문제에 대한 해결책을 찾을 수 없습니다. .net c #의 폴더에 이미지를 저장하려고하지만이 예외가 발생합니다.

Access to the path 'C:\inetpub\wwwroot\mysite\images\savehere' is denied.The error occured at mscorlib because    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy)
at System.IO.FileStream..ctor(String path, FileMode mode)

이 폴더 (저장소) network serviceiis_iusrs에 대한 모든 권한을 부여 했으며 모든 권한을 부여 everyone했지만 여전히이 예외가 발생했습니다. 탐색기와 IIS 관리자를 통해 액세스를 시도했지만 여전히 운이 없습니다.

Windows Server 2008 R2 및 IIS 7.5에서 수행하고 있습니다. 누가 액세스 권한을 부여해야합니까?

감사



답변

웹 사이트의 응용 프로그램 풀에서 웹 사이트에서 실행중인 ID (기본적으로이)가 무엇인지 Application Pool Identity확인하고 올바른 권한을 부여해야합니다.


답변

‘C : \ inetpub \ wwwroot \ mysite \ images \ savehere’경로에 대한 액세스가 거부되었습니다.

메시지를주의 깊게 읽으십시오. 디렉토리와 이름이 같은 파일에 저장하려고합니다. 작동하지 않습니다. 하나의 새 파일로 파일로 채워진 디렉토리를 덮어 쓸 수 없습니다. “경로에 대한 액세스가 거부되었습니다”라는 진단 불가능한 데이터 손실이 발생할 수 있습니다.

예외 메시지는 이상적이지 않지만 OS에서 직접 제공되며 스톤으로 캐스팅됩니다. 프레임 워크는 종종 더 나은 메시지를 생성하기 위해 추가 검사를 추가하지만 이는 네트워크에서 값 비싼 테스트입니다. 성능도 기능입니다.

‘C : \ inetpub \ wwwroot \ mysite \ images \ savehere \ mumble.jpg’와 같은 이름을 사용해야합니다. 경로 이름을 안정적으로 생성하려면 Path.Combine () 을 고려하십시오 .


답변

서버에서 파일 (실제로는 템플릿의 사본 인 파일)을 만들려고 할 때 동일한 문제가 발생했습니다.

완전한 오류 메시지는 다음과 같습니다.

{ERROR} 08/07/2012 22:15:58 - System.UnauthorizedAccessException: Access to the path 'C:\inetpub\wwwroot\SAvE\Templates\Cover.pdf' is denied.

TemplatesIIS 앱 폴더 안에 새 폴더를 추가했습니다 . 필자의 경우 매우 중요한 것은 해당 폴더의 IUSR 사용자에게 쓰기 (Gravar) 권한을 부여해야한다는 것입니다. 당신은 또한 제공해야 할 수 있습니다 Network ServiceASP.NET v$.#같은 쓰기 권한.

이 작업을 수행하면 모든 것이 예상대로 작동합니다.


답변

나는 정확히 같은 문제가 있었다.

해결책은 액세스하려고했던 파일이 읽기 전용 인 템플릿 파일에서 복사 되었기 때문에 읽기 전용이었습니다.

<페이스 팜 />


답변

파일 이름을 설정하지 않고 파일을 저장하려고 할 때이 문제가 발생했습니다.

이전 코드

File.WriteAllBytes(@"E:\Folder", Convert.FromBase64String(Base64String));

작업 코드

File.WriteAllBytes(@"E:\Folder\"+ fileName, Convert.FromBase64String(Base64String));

답변

내 문제는 읽기 권한 만 요청해야한다는 것입니다.

FileStream fs = new FileStream(name, FileMode.Open, FileAccess.Read);

답변

웹 응용 프로그램의 응용 프로그램 풀 ID로 문제를 해결하려면 네트워크 서비스를 ID로 사용하여 새 응용 프로그램 풀을 만들고 웹 응용 프로그램에서 사용자가 만든 새 응용 프로그램 풀을 사용하도록하고 오류가 지속되는지 확인하십시오.