我正在使用Silverlight multi file uploader并将Azure Blob中的文档上传为字节数组。
//Append the memory stream into ByteArray
using (MemoryStream ms = new MemoryStream())
{
stream.CopyTo(ms);
return ms.ToArray();
}
// Upload the file
blob.UploadByteArray(bytes);
上传文件似乎已损坏间歇性。
有什么建议吗?
答案 0 :(得分:0)
Windows Azure存储客户端库通过在将数据发送到Windows Azure存储服务(大多数情况下)时验证数据的MD5哈希值来保护正在上载的blob的完整性。如果您使用HTTPS连接到服务,这也将验证数据是否已发送且没有错误。
使用了MD5哈希的详细信息:http://blogs.msdn.com/b/windowsazurestorage/archive/2011/02/18/windows-azure-blob-md5-overview.aspx
我相信您看到的腐败发生在客户端的Web浏览器和您的应用程序之间。您需要让用户再次尝试上传。
顺便说一句,您的代码会不必要地创建另外两个数据副本(MemoryStream和字节数组)。相反,试试这个:
blob.UploadFromStream(stream);