我正在编写自动测试,我需要检查上传是否成功。我怎么做?为什么没有 FileExist 方法?
问问题
2456 次
2 回答
2
新的 Storage Client Library 2.0 版本中添加了 Blob 的Exists方法。由于您使用的是较旧的库版本,因此您可以改用FetchAttributes。如果 blob 不存在,它将引发异常。
另一方面,正如 Magnus 也提到的,Upload* 方法如果不成功就会抛出异常。
于 2013-01-22T21:10:51.303 回答
1
我建议检查文件大小,例如在完成数据传输之前关闭与服务器的连接。
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)
于 2013-11-01T19:07:43.447 回答