Pregunta

Estaba tratando de subir un archivo de 34 MB en el blob, pero me está provocando algún error

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

¿Qué debo hacer ... cómo resolverlo?


Puedo cargar archivos pequeños de tamaño de 500kb ... pero tengo un archivo de tamaño 34 MB para cargar en mi contenedor Blob

Lo probé 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);

            }
        } 

Pero no puedo subirlo ... ¿Alguien puede decirme cómo hacer eso ...

¿Fue útil?

Solución

Las manchas de más de 64 MB deben cargarse con blobs de bloque. Rompa el archivo en bloques, carga todos los bloques (asociando cada bloque con un identificador de cadena único), y al final publica la lista de ID de bloque al blob para confirmar todo el lote de una sola vez.

La carga en bloques también se recomienda para grandes blobs de menos de 64 MB de tamaño. Es muy fácil para un hipo en la conexión de red o enrutamiento a través de Internet perder un marco o dos en una carga muy grande, lo que corromperá o invalidará toda la carga. Use bloques más pequeños para reducir su exposición a eventos cósmicos.

Más información en este hilo de discusión: http://social.msdn.microsoft.com/forums/en-nz/windowsazure/thread/f4575746-a695-40ff-9e49-ffe4c99b28c7

Otros consejos

Comenzaría dejando caer un poco de inicio de sesión en el proyecto para tratar de rastrear el problema. Puede que no esté sucediendo donde piensas. También puede haber un error de permisos. Intente agregar algunos datos ficticios en la base de datos. Si todavía falla, eso podría ser un problema potencial.

Pero rastree usted mismo con algo de depuración, registro y algo de revisión de código, apuesto a que puede llegar al fondo del problema antes de esa manera. Y también ayudará a hacer que su código sea más robusto.

Puedes usar blobs aquí. Creo que es un problema con el tamaño de su solicitud web. Puede cambiar esta configuración en Web.Config aumentando el número del atributo MaxRequestLength en el elemento. Si está enviando trozos de 500kb, entonces está desperdiciando el ancho de banda y derribando el rendimiento. Envíe fragmentos de datos más grandes como 1-2 MB por fragmento. Vea mi control de carga basado en Silverlight o HTML5 para cargas de fragmentos. Elija el control de carga de archivo Azure: Silverlight y TPL o HTML5 y AJAX

Use la utilidad de transferencia Blob para descargar y cargar todos sus archivos blob.

Es una herramienta para manejar miles de transferencias de blob (pequeñas/grandes) de manera efectiva.

Binarios y código fuente, aquí: http://bit.ly/blobtransfer

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top