[ad_1]
Je dois télécharger un fichier sur un site de détection de virus en utilisant ce code
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"]); }
Ce code fonctionne bien avec des fichiers plus petits, mais une fois que j’essaie de télécharger des fichiers d’une taille de 50 Mo, j’obtiens une exception.
Le serveur distant a renvoyé une erreur : (413) Entité de demande trop grande.
J’ai recherché cette erreur et essayé d’augmenter les valeurs maxAllowedContentLength et maxRequestLength à 2147483647.
Cela n’a pas aidé. Quoi que je fasse, j’obtiens toujours l’erreur mentionnée ci-dessus
Existe-t-il un moyen de télécharger un fichier volumineux sur un site à l’aide de la classe WebClient ? Existe-t-il un autre moyen de télécharger le fichier le plus volumineux dans les formulaires Web ASP.NET ?
Merci beaucoup d’avance
Ce que j’ai essayé :
J’ai recherché cette erreur et essayé d’augmenter les valeurs maxAllowedContentLength et maxRequestLength à 2147483647.
Solution 1
Le message d’erreur est assez explicite. Le serveur est configuré pour autoriser uniquement les téléchargements de moins de 50 Mo. Vous ne pouvez rien y faire dans votre code.
Si vous ne contrôlez pas le code et la configuration du serveur, vous ne pouvez rien faire pour résoudre ce problème.
[ad_2]
コメント