2017-09-14 7 views
0

BLOB 저장소를 처음 사용합니다. blob 파일을 다운로드하려고합니다. 하지만 예외가 발생했습니다.BLOB 파일을 다운로드 할 때 로컬 파일 경로를 찾을 수 없습니다. C#

경로 'C : \ Users \ xxx \ Downloads'에 대한 액세스가 거부되었습니다.

의견을 공유하십시오. 미리 감사드립니다

CloudStorageAccount storageAccount = CloudStorageAccount.Parse("connectionstring"); 
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 
CloudBlobContainer container = blobClient.GetContainerReference("_report"); 
CloudBlockBlob blockBlob = container.GetBlockBlobReference("Report/report1/YYY.pdf");    

// Save blob contents to a file.  
blockBlob.DownloadToStream(System.IO.File.OpenWrite(@"C:\Users\xxx\Downloads")); 
+1

내 코드는이 코드가 실행중인 모든 컨텍스트에 해당 경로에 대한 사용 권한이 없다는 것입니다. 불행히도이 프로그램의 기능과 실행 방법에 대한 정보는 제공하지 않았습니다. – Equalsk

+1

"OpenWrite"를 시도하는 파일 이름은 무엇입니까? 그 이름을 어디에서 지정하고 있습니까? – Aaron

+0

스트림이 "@"C : \ Users \ xxx \ Downloads "파일을 파일로 열려고하고 그 위치에서 추가 액세스 권한이 필요합니다. @ "C : \ Users \ xxx \ Downloads"를 @ "C : \ Users \ xxx \ Downloads \ somefile.txt"로 변경하려는 경우 –

답변

0

변경 다음 마지막 코드 라인 :

 using (Stream str = System.IO.File.OpenWrite(@"C:\Users\xxx\Downloads\somefile.txt")) 
     { 
      blockBlob.DownloadToStream(str); 
     } 

경로는 이제 다운로드 디렉토리에있는 파일을 가리키고 있습니다. 이전 값은 downloads라는 파일을 C : \ Users \ xxx \

개의 파일로 생성하려고 시도했습니다. 스트림을 처리하십시오. (using-keyword 사용)

+0

CloudBlockBlob blockBlob = container.GetBlockBlobReference ("Report/report1/YYY.pdf"); 이 코드는 내가 blob 경로 언급하고있다.이 올바른 방법은 무엇입니까? 때문에 하위 폴더에서 BLOB를 다운로드하려면. –

+0

예이 올바른 방법이어야합니다. –