2017-10-20 7 views
1

Azure Blob Storage에 jpg 이미지를 업로드 한 다음 다시 당겨서 꺼내면 항상 png로 되돌아갑니다. 이것이 디폴트로 간주하는 것이 안전한가? 문서를 찾을 수 없습니다. 컨테이너에서 꺼낼 때 확장자를 저장할 때 바이트 변환으로 jpg로 쉽게 변환 할 수 있지만 Azure Blob 저장소에 저장된 이미지 유형을 PNG로 안전하게 가정 할 수 있습니까?Azure Blob Storage의 기본 이미지 유형이 있습니까?

+0

이미지를 업로드하기위한 코드를 공유 할 수 있습니까? –

답변

0

png가 기본값이라고 가정하지 않는 것이 가장 좋습니다. 업로드 과정 중에 파일에 부여한 이름과 업로드 메커니즘에 따라 다르다고 생각합니다.

0

하지만 안전하게 푸른 물방울 저장 장치에 저장된 모든 이미지 유형을 가정 할 수는

는 지금까지 내가 아는 한, BLOB 저장소는 기본 파일 형식이없는 PNG로 이루어집니다. 이 파일에는 사용자에게 파일의 콘텐츠 유형을 알릴 수있는 content-type이 포함되어 있습니다. BLOB 이름을 설정하면 xxx.jpg입니다. 그런 다음 BLOB 저장소에 xxx.jpg를 저장합니다.

다음은 예입니다.

 CloudStorageAccount storageAccount = CloudStorageAccount.Parse("connection string"); 

     // Create the blob client. 
     CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); 

     // Retrieve a reference to a container. 
     CloudBlobContainer container = blobClient.GetContainerReference("mycontainer"); 

     // Create the container if it doesn't already exist. 
     container.CreateIfNotExists(); 

     CloudBlockBlob blockBlob = container.GetBlockBlobReference("brandotest.jpg"); 

     // Create or overwrite the "myblob" blob with contents from a local file. 
     using (var fileStream = System.IO.File.OpenRead(@"D:\1.PNG")) 
     { 
      blockBlob.UploadFromStream(fileStream); 
     } 

결과 :

저장 탐색기를 사용하여, 당신은 BLOB 저장소에서 이미지의 유형을 찾을 수 있습니다. 그것은 brandotest.jpg입니다.

enter image description here

나는 당신이 그것을 다운로드 코드를 사용할 때 다운로드 이미지 파일의 형식을 설정 같아요.

 CloudBlockBlob blockBlob = container.GetBlockBlobReference("brandotest.jpg"); 

     // Save blob contents to a file. 
     using (var fileStream = System.IO.File.OpenWrite(@"D:\authserver\myfile.png")) 
     { 
      blockBlob.DownloadToStream(fileStream); 
     } 

결과는 myfile.png됩니다 : 이것처럼

는 (나는 다운로드 파일의 경로가 myfile.png되는 설정). 당신이 얻을하거나 업로드하는 코드를 사용하는 경우 모두 모두

enter image description here

는 파일의 유형은 당신은 당신의 설정에 따라되는 지역을 다운로드하거나 블롭에 업로드 할 수 있습니다.