غير قادر على تحميل ملف كبير باستخدام فئة عميل الويب في تطبيق الويب ASP.NET 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"]);
}

يعمل هذا الرمز بشكل جيد مع الملفات الأصغر حجمًا، ولكن بمجرد أن أحاول تحميل ملفات بحجم 50 ميغابايت، أحصل على الاستثناء

أرجع الخادم البعيد خطأً: (413) طلب الكيان كبير جدًا.

لقد بحثت عن هذا الخطأ وحاولت زيادة قيم maxAllowedContentLength وmaxRequestLength إلى 2147483647

لم يساعد. بغض النظر عما أفعله، أحصل دائمًا على الخطأ المذكور أعلاه

هل هناك أي طريقة لتحميل الملف الكبير إلى موقع باستخدام فئة WebClient؟ هل هناك أي طريقة أخرى لتحميل الملف الأكبر في نماذج ويب ASP.NET؟

شكرا جزيلا لك مقدما

ما حاولت:

لقد بحثت عن هذا الخطأ وحاولت زيادة قيم maxAllowedContentLength وmaxRequestLength إلى 2147483647

الحل 1

رسالة الخطأ واضحة جدًا. تم تكوين الخادم للسماح فقط بالتحميلات التي يقل حجمها عن 50 ميجابايت. لا يمكنك فعل أي شيء حيال ذلك في التعليمات البرمجية الخاصة بك.

إذا لم تكن تتحكم في رمز الخادم وتكوينه، فلا يمكنك فعل أي شيء لإصلاح هذه المشكلة.

コメント

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