2010-04-12 9 views
7

stavo cercando di caricare un file 34 MB sul blob, ma mi sta spingendo alcuni erroriWindows Azure: Non è possibile caricare un file 34 MB al blob

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

Cosa devo fare .. ..Come risolverlo


sono in grado di caricare i file di piccole dimensioni di dimensioni 500KB .. ma io ho un file di dimensione 34 MB per essere caricato nel mio contenitore blob

ho provato usando

ma io non sono in grado di caricarlo .. Qualcuno mi dica come farlo ....

+0

Quale errore state ottenendo? È importante. – dthorpe

risposta

8

Blob di dimensioni superiori a 64 MB devono essere caricati utilizzando blocchi BLOB. Si interrompe il file in blocchi, si caricano tutti i blocchi (associando ciascun blocco con un identificatore di stringa univoco) e alla fine si pubblica l'elenco degli ID di blocco sul BLOB per impegnare l'intero batch in un colpo solo.

Il caricamento in blocchi è consigliato anche per i blob di grandi dimensioni con dimensioni inferiori a 64 MB. È molto facile che si verifichi un blocco nella connessione di rete o nell'instradamento attraverso Internet per perdere un frame o due in un caricamento molto grande, che danneggerà o invaliderà l'intero caricamento. Usa blocchi più piccoli per ridurre la tua esposizione agli eventi cosmici.

Maggiori informazioni in questa discussione: http://social.msdn.microsoft.com/Forums/en-NZ/windowsazure/thread/f4575746-a695-40ff-9e49-ffe4c99b28c7

+0

Si noti che il caricamento tramite elenchi di blocchi è vantaggioso anche per i BLOB di grandi dimensioni inferiori a 64 MB. Non so se l'API UploadFromStream utilizza i blocchi internamente, ma so che è molto più sensibile al traffico di rete e ai pacchetti scartati (gocce di wifi) rispetto al caricamento di blocchi più piccoli (64k). – dthorpe

1

Vorrei iniziare facendo cadere un po 'di disboscamento nel progetto per cercare di rintracciare il problema verso il basso. Potrebbe non succedere dove pensi. Potrebbe anche esserci un errore di autorizzazione. Prova ad aggiungere alcuni dati fittizi nel database. Se continua a fallire, potrebbe essere un potenziale problema.

Ma seguitelo con un po 'di debug, registrazione e revisione del codice, scommetto che riuscirete ad arrivare in fondo al problema prima. E aiuterà anche a rendere il tuo codice più robusto.

1

È possibile utilizzare Blobs qui. Penso che sia un problema con le dimensioni della tua richiesta web. È possibile modificare questa impostazione in web.config aumentando il numero dell'attributo maxRequestLength nell'elemento. Se stai inviando blocchi di 500Kb, stai sprecando larghezza di banda e riducendo le prestazioni. Invia pezzi più grandi di dati come 1-2 Mb per pezzo. Vedi il mio controllo di caricamento basato su Silverlight o HTML5 per i caricamenti a blocchi. Pick Your Azure File Upload Control: Silverlight and TPL or HTML5 and AJAX

1

Utilizzare Blob Transfer Utility per scaricare e caricare tutti i file blob.

È uno strumento per gestire migliaia di trasferimenti di blob (piccoli/grandi) in modo efficace.

binari e codice sorgente, qui: http://bit.ly/blobtransfer

Problemi correlati