Azure Page Blob要求我篡改文件大小

时间:2011-04-18 13:46:21

标签: .net stream azure azure-storage-blobs

我正在尝试创建一个Page Blob,因为我将来需要随机访问,虽然我可以上传文件,但下载时文件大小不同。

我上传了“file.docx”,然后下载为“file2.docx”。下载的一个更大,实际上它的大小是四舍五入到页面blob页面大小,512 :)在这个特殊情况下,Microsoft Word给我一个警告说文件已损坏,但我仍然可以打开它,内容是什么我在期待。

我从这里得到了代码示例:Using Windows Azure Page Blobs and How to Efficiently Upload and Download Page Blobs。我已经检查了上传它和文档的代码,显然你的页面上传必须从512字节边界开始(startingOffset%512 == 0),并以512边界结束 - 1.然后当我发生时会发生什么需要上传未对齐到512的文件吗?

例如,如果我有一个550bytes的文件,我上传并下载它,我会得到一个1024字节的文件,对吧?我该怎么办?保留元数据中的原始文件大小,或者有办法正确吗?(或示例)。

提前致谢。

2 个答案:

答案 0 :(得分:3)

是的,您应该“将原始文件大小保留在元数据中”。或者考虑使用块blob。

答案 1 :(得分:0)

当您询问随机访问时 - 您是指文件中的随机访问还是多个blob的随机访问?您的描述意味着后者(大量文件传输) - 即随机访问的小文件,在这种情况下,块blob将执行您所需的操作。

您是否有在文件中随机搜索的用例?有这种情况,但通常文件远大于512字节。