質問

私は34 MBのファイルをブロブにアップロードしようとしていましたが、それは私にいくつかのエラーを促しています

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

            }
        } 

しかし、私はそれをアップロードすることができません..誰でもそれをする方法を教えてもらえますか....

役に立ちましたか?

解決

ブロックブロブを使用して、64MBを超えるブロブをアップロードする必要があります。ファイルをブロックに分割し、すべてのブロックをアップロードし(各ブロックを一意の文字列識別子に関連付けます)、最後にブロックIDのリストをBLOBに投稿して、一度にバッチ全体をコミットします。

ブロックでのアップロードは、サイズが64MB未満の大きなブロブにも推奨されます。ネットワーク接続のしゃっくりまたはインターネットを介したルーティングで非常に簡単に、非常に大きなアップロードで1つか2つのフレームを失うことができます。これにより、アップロード全体が破損または無効になります。小さなブロックを使用して、宇宙イベントへの露出を減らします。

詳細については、このディスカッションスレッド: http://social.msdn.microsoft.com/forums/ennz/windowsazure/thread/f4575746-a695-40ff-9e49-ffe4c99b28c7

他のヒント

プロジェクトにログインして、問題を追跡しようとすることから始めます。あなたが思う場所で起こっていないかもしれません。許可エラーもあるかもしれません。ダミーデータをデータベースに追加してみてください。それでも失敗した場合、それは潜在的な問題になる可能性があります。

しかし、いくつかのデバッグ、ロギング、コードレビューで自分でそれを追跡します。私はあなたがそのように問題の一番下に到達できると思います。また、コードをより堅牢にするのにも役立ちます。

ここではブロブを使用できます。あなたのWebリクエストサイズの問題だと思います。この設定をWeb.configで変更すると、要素のmaxrequestlength属性の数を増やすことができます。 500kbのチャンクを送信している場合、帯域幅を無駄にしてパフォーマンスを低下させています。チャンクあたり1〜2 MBなどのより大きなデータのチャンクを送信します。チャンキングアップロードについては、私のSilverlightまたはHTML5ベースのアップロードコントロールを参照してください。 Azureファイルのアップロードコントロールを選択:SilverlightとTPLまたはHTML5およびAJAX

BLOB転送ユーティリティを使用して、すべてのBLOBファイルをダウンロードしてアップロードします。

これは、効果的な方法で何千もの(小/大型)ブロブ転送を処理するツールです。

バイナリとソースコード、こちら: http://bit.ly/blobtransfer

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top