حافظ على بايتات الملف الثنائي عند الرفع عبر وسيط
حافظ على بايتات الملف وأطوال البايتات عند الرفع عبر وسيط بدل فك ترميز الملف كنص وإعادة بنائه بترميز ASCII.
ينبغي أن يصل الملف الثنائي إلى عميل HTTP كبايتات. فقراءته بقارئ نصي ثم إعادة ترميز السلسلة الناتجة بترميز ASCII قد تستبدل القيم قبل أن يتلقى الوسيط أي شيء. نجاح عيّنة نصية صغيرة لا يجعل ذلك المسار آمنًا لصورة أو أرشيف أو مستند.
في مسار رفع .NET قائم، استبدل ذلك التحويل بمصدر جسم ثنائي:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);مرّر المحتوى عبر رفع HTTP المهيّأ في التطبيق؛ يثبّت المقطع مصدر الجسم، بينما يظل العميل القائم مسؤولًا عن الطريقة والوجهة والوسيط وإدارة العمر.
أزل أي Content-Length محسوب من عدد أحرف السلسلة القديمة. يقيس هذا الحقل الثمانيات. دع مكتبة HTTP تبني التأطير من تمثيل الجسم بدلًا من قرن عدد أحرف بمخزن مؤقت بترميز مختلف.
لرفع نصي مقصود، اختر الترميز صراحةً واستخرج أي طول مطلوب من البايتات المرسلة. لا ينبغي تطبيق قرار تنسيق النص هذا على ملفات عشوائية.
قارن الملف المنقول بقيمة متوقعة موثوقة. نجاح HTTP يؤكد أن عملية رفع اكتملت عند تلك الطبقة؛ ولا يمكنه إثبات أن تحويلًا نصيًا سابقًا حافظ على البايتات الأصلية.