代码之家  ›  专栏  ›  技术社区  ›  veda

Microsoft azure:无法将34 MB文件上载到blob

  •  7
  • veda  · 技术社区  · 15 年前

    我试图将一个34 MB的文件上载到blob,但它提示我一些错误

        XML Parsing Error: no element found
    Location: http://127.0.0.1:83/Default.aspx
    Line Number 1, Column 1:
    

    我该怎么办…怎么解决


    我可以上传500KB大小的小文件。但是我有一个34MB的文件要上传到我的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);
    
                }
            } 
    

    但我无法上传。有人能告诉我怎么做吗…

    4 回复  |  直到 6 年前
        1
  •  8
  •   dthorpe    15 年前

    必须使用块blob上载大于64mb的blob。将文件分成块,上载所有块(将每个块与唯一的字符串标识符关联),最后将块ID列表发布到blob,以便一次性提交整个批处理。

    对于大小小于64MB的大型blob,也建议以块的形式上载。在一次非常大的上传中,网络连接或互联网路由中的小插曲很容易丢失一两帧,这将破坏或使整个上传无效。用更小的积木来减少你对宇宙事件的暴露。

    此讨论主题中的详细信息: http://social.msdn.microsoft.com/Forums/en-NZ/windowsazure/thread/f4575746-a695-40ff-9e49-ffe4c99b28c7

        2
  •  1
  •   Kaili    15 年前

    我会先登录到项目中,尝试跟踪问题。它可能不会发生在你认为的地方。可能还存在权限错误。尝试将一些虚拟数据添加到数据库中。如果仍然失败,那可能是一个潜在的问题。

    但是你可以通过一些调试、日志记录和一些代码检查来追踪它,我打赌你可以通过这种方式更快地找到问题的根源。它还将有助于使您的代码更加健壮。

        3
  •  1
  •   Rahul    13 年前

    你可以在这里使用blobs。我认为这是你的网页请求大小的问题。通过增加元素中maxrequestlength属性的数量,可以在web.config中更改此设置。如果你发送500KB的数据块,那么你就是在浪费带宽,降低性能。发送较大的数据块,如每个块1-2 MB。请参阅我的Silverlight或基于HTML5的上载控件以获取分块上载。 Pick Your Azure File Upload Control: Silverlight and TPL or HTML5 and AJAX

        4
  •  1
  •   Vitor Ciaramella    12 年前

    使用blob传输实用程序下载和上载所有blob文件。

    它是一个有效处理数千个(小/大)blob传输的工具。

    二进制文件和源代码,如下所示: http://bit.ly/blobtransfer