SilverLight多文件上传器和Azure Blob存储:IE中偶尔会出现损坏的上传

时间:2013-09-19 05:46:43

标签: silverlight file-upload azure blob azure-storage

我正在使用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);

上传文件似乎已损坏间歇性

有什么建议吗?

1 个答案:

答案 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);