Frage

Ich habe versucht, eine 34 -MB -Datei auf den Blob hochzuladen, aber sie veranlasst mir einen Fehler

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

Was soll ich tun ... wie man es löst?


Ich kann kleine Dateien mit einer Größe von 500 KB hochladen. Aber ich habe eine Datei mit einer Größe von 34 MB in meinen Blob Container hochgeladen

Ich habe es versucht, es zu verwenden

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

            }
        } 

Aber ich kann es nicht hochladen. Kann mir jemand sagen, wie das geht ...

War es hilfreich?

Lösung

Blobs größer als 64 MB müssen mit Blockblobs hochgeladen werden. Sie unterteilen die Datei in Blöcke, laden Sie alle Blöcke hoch (assoziieren Sie jeden Block mit einer eindeutigen Zeichenfolge) und veröffentlichen am Ende die Liste der Block -IDs an den Blob, um die gesamte Stapel auf einmal zu begehen.

Das Hochladen in Blöcken wird auch für große Blobs mit einer Größe von weniger als 64 MB empfohlen. Für einen Schluckauf in der Netzwerkverbindung oder zum Routing über das Internet ist es sehr einfach, ein oder zwei Frame in einem sehr großen Upload zu verlieren, was den gesamten Upload beschädigt oder ungültig macht. Verwenden Sie kleinere Blöcke, um Ihre Exposition gegenüber kosmischen Ereignissen zu verringern.

Weitere Informationen in diesem Diskussionsthread: http://social.msdn.microsoft.com/forums/en-nz/windowsazure/thread/f4575746-a695-40ff-9e49-ffe4c99b28c7

Andere Tipps

Ich würde zunächst etwas in das Projekt ablegen, um das Problem niederzuverfolgen. Es kann nicht dort passieren, wo Sie denken. Es kann auch einen Berechtigungsfehler geben. Versuchen Sie, einige Dummy -Daten in die Datenbank hinzuzufügen. Wenn es immer noch fehlschlägt, könnte dies ein potenzielles Problem sein.

Aber verfolgen Sie es mit etwas Debug, Protokollierung und einer Code -Bewertung. Ich wette, Sie können das Problem auf diese Weise früher auf den Grund gehen. Und es wird auch helfen, Ihren Code robuster zu machen.

Hier können Sie Blobs verwenden. Ich denke, es ist ein Problem mit Ihrer Webanfragegröße. Sie können diese Einstellung im web.config ändern, indem Sie die Anzahl des MaxRequestLength -Attributs im Element erhöhen. Wenn Sie Teile von 500 KB senden, verschwenden Sie die Bandbreite und bringen die Leistung ab. Senden Sie größere Datenbrocken wie 1-2 MB pro Chunk. Sehen Sie sich mein Silverlight oder HTML5 anhand von Upload -Steuerung für Chunked -Uploads an. Wählen Sie Ihre Azure -Datei -Upload -Steuerung: Silverlight und TPL oder HTML5 und AJAX

Verwenden Sie das Blob Transfer -Dienstprogramm, um alle Ihre Blob -Dateien herunterzuladen und hochzuladen.

Es ist ein Werkzeug, um tausende (kleine/große) Blobtransfers auf effektive Weise zu handhaben.

Binärdateien und Quellcode, hier: http://bit.ly/blobtransfer

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top