자동 테스트를 작성 중이므로 업로드가 성공했는지 확인해야합니다. 어떻게하면됩니까? 어떻게 FileExist 메서드가 없습니까?Azure Storage - CloudBlob.UploadFile - 업로드가 성공했음을 어떻게 확인합니까?
1
A
답변
2
Exists 새 저장소 클라이언트 라이브러리 2.0 릴리스에 BLOB 용 메소드가 추가되었습니다. 이전 라이브러리 버전을 사용 중이므로 대신 FetchAttributes을 사용할 수 있습니다. BLOB가 존재하지 않으면 예외를 throw합니다.
한편 Magnus도 언급했듯이 Upload * 메소드는 성공하지 못하면 예외를 throw합니다.
0
데이터 전송을 완료하기 전에 예를 들어 서버에 대한 연결이 닫힌 경우 파일 크기를 확인하는 것이 좋습니다.
public bool WriteDocumentStream(String documentId, Stream dataStream, long length)
{
CloudBlobContainer container = BlobClient.GetContainerReference(ContainerName);
CloudBlob blob = container.GetBlobReference(documentId);
blob.UploadFromStream(dataStream);
blob.FetchAttributes();
bool success = blob.Properties.Length == length;
if (!success)
blob.Delete();
return success;
}
//length should be like this: context.Request.ContentLength
//(if request have ContentLength defined at headers)