我试图将一个34 MB的文件上传到blob,但它提示我一些错误
XML Parsing Error: no element found
Location: http://127.0.0.1:83/Default.aspx
Line Number 1, Column 1:
我该怎么办......如何解决它
我能够上传大小为500KB的小文件..但是我有一个大小为34 MB的文件要上传到我的blob容器中
我试过用它
protected void ButUpload_click(object sender, EventArgs e)
{
// store upladed file as a blob storage
if (uplFileUpload.HasFile)
{
name = uplFileUpload.FileName;
// get refernce to the cloud blob container
CloudBlobContainer blobContainer = cloudBlobClient.GetContainerReference("documents");
// set the name for the uploading files
string UploadDocName = name;
// get the blob reference and set the metadata properties
CloudBlob blob = blobContainer.GetBlobReference(UploadDocName);
blob.Metadata["FILETYPE"] = "text";
blob.Properties.ContentType = uplFileUpload.PostedFile.ContentType;
// upload the blob to the storage
blob.UploadFromStream(uplFileUpload.FileContent);
}
}
但我无法上传..任何人都可以告诉我该怎么做....
必须使用块blob上载大于64MB的Blob。您将文件分成块,上传所有块(将每个块与唯一的字符串标识符相关联),最后将块ID列表发布到blob以一次提交整个批处理。
对于小于64MB的大型blob,也建议在块中上传。网络连接中的打嗝很容易或通过互联网路由在非常大的上传中丢失一两帧,这将破坏或使整个上载无效。使用较小的块来减少您对宇宙事件的暴露。
更多信息在这个讨论主题:http://social.msdn.microsoft.com/Forums/en-NZ/windowsazure/thread/f4575746-a695-40ff-9e49-ffe4c99b28c7
我首先将一些日志记录放入项目中以尝试跟踪问题。它可能不会发生在你想到的地方。可能还存在权限错误。尝试将一些虚拟数据添加到数据库中。如果它仍然失败可能是一个潜在的问题。
但是通过一些调试,日志记录和一些代码审查自己跟踪它,我打赌你可以更快地找到问题的根源。它还有助于使您的代码更加健壮。
你可以在这里使用Blob。我认为这是您的网络请求大小的问题。您可以通过增加元素中maxRequestLength属性的数量来更改web.config中的此设置。如果你要发送500Kb的块,那么你就是在浪费带宽并降低性能。发送更大的数据块,例如每块1-2 Mb。查看基于Silverlight或HTML5的上传控件以获取分块上传。 Pick Your Azure File Upload Control: Silverlight and TPL or HTML5 and AJAX
使用Blob Transfer Utility下载并上载所有blob文件。
它是一种有效处理数千个(小/大)斑点转移的工具。
二进制文件和源代码,这里:http://bit.ly/blobtransfer