Pergunta

Eu estava tentando fazer upload de um arquivo de 34 MB no bolhas, mas está me levando a algum erro

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

O que devo fazer .... como resolvê -lo


Sou capaz de fazer upload de pequenos arquivos de tamanho 500kb .. mas tenho um arquivo de tamanho 34 MB para ser carregado no meu contêiner de blob

Eu tentei usando

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

            }
        } 

Mas não consigo fazer upload. Alguém pode me dizer como fazer isso ....

Foi útil?

Solução

Blobs maiores que 64 MB devem ser carregados usando blobs de bloco. Você divide o arquivo em blocos, carrega todos os blocos (associando cada bloco a um identificador de string exclusivo) e, no final, você publica a lista de IDs de bloco no blob para comprometer todo o lote de uma só vez.

O upload em blocos também é recomendado para grandes blobs com menos de 64 MB de tamanho. É muito fácil para um soluço na conexão de rede ou rotear pela Internet para perder um ou dois quadros em um upload muito grande, o que corrompe ou invalidará todo o upload. Use blocos menores para reduzir sua exposição a eventos cósmicos.

Mais informações neste tópico de discussão: http://social.msdn.microsoft.com/forums/en-nz/windowszure/thread/f4575746-a695-40ff-9e49-ffe4c99b28c7

Outras dicas

Eu começaria lançando alguns logs no projeto para tentar rastrear o problema. Pode não estar acontecendo onde você pensa. Também pode haver um erro de permissões. Tente adicionar alguns dados fictícios no banco de dados. Se ainda falhar, isso pode ser um problema em potencial.

Mas rastreie -o com algum depuração, registro e revisão de código, aposto que você pode chegar ao fundo do problema mais cedo assim. E também ajudará a tornar seu código mais robusto.

Você pode usar blobs aqui. Eu acho que é um problema com o tamanho da sua solicitação da Web. Você pode alterar essa configuração no web.config aumentando o número do atributo maxRequestLength no elemento. Se você está enviando pedaços de 500 KB, está desperdiçando largura de banda e reduzindo o desempenho. Envie pedaços maiores de dados como 1-2 MB por pedaço. Veja meu controle Silverlight ou HTML5 de upload para uploads em chunked. Escolha o seu Azure Arquive Upload Control: Silverlight e TPL ou HTML5 e Ajax

Use o utilitário de transferência do blob para baixar e fazer upload de todos os seus arquivos BLOB.

É uma ferramenta para lidar com milhares de transferências de blob (pequenas/grandes) de maneira eficaz.

Binários e código -fonte, aqui: http://bit.ly/blobtransfer

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top