No se puede cargar un archivo grande usando la clase de cliente web en la aplicación web ASP.NET C#

programación


Necesito cargar un archivo al sitio de verificación de virus usando este código

C#
public string Scan(string file)
{
    var v = new NameValueCollection();
    v.Add("key", APIKey);
    var c = new MyWebClient() { QueryString = v };
    
    c.Headers.Add("Content-type", "binary/octet-stream");
    ServicePointManager.SecurityProtocol = (SecurityProtocolType)768 | (SecurityProtocolType)3072;
    byte[] b = c.UploadFile(scan, "POST", file);
    string json = Encoding.Default.GetString(b);
    var r = ParseJSON(json);
    if (r.ContainsKey("scan_id"))
    {
        return r["scan_id"];
    }
    throw new Exception(r["result"]);
}

Este código funciona bien con archivos más pequeños, pero una vez que intento cargar archivos de 50 MB, aparece la excepción.

El servidor remoto devolvió un error: (413) Entidad de solicitud demasiado grande.

Busqué este error e intenté aumentar los valores maxAllowedContentLength y maxRequestLength a 2147483647

No ayudó. No importa lo que haga, siempre aparece el error mencionado anteriormente.

¿Hay alguna forma de cargar el archivo grande en un sitio usando la clase WebClient? ¿Existe alguna otra forma de cargar el archivo más grande en ASP.NET Web Forms?

Muchas gracias por adelantado

Lo que he probado:

Busqué este error e intenté aumentar los valores maxAllowedContentLength y maxRequestLength a 2147483647

Solución 1

El mensaje de error es bastante explícito. El servidor está configurado para permitir solo cargas inferiores a 50 MB. No puedes hacer nada al respecto en tu código.

Si no controla el código y la configuración del servidor, no hay nada que pueda hacer para solucionar este problema.

コメント

タイトルとURLをコピーしました