بائنری فائل کو HTTP کلائنٹ تک بائٹس کے طور پر پہنچنا چاہیے۔ اسے متن پڑھنے والے سے پڑھ کر حاصل شدہ سٹرنگ کو ASCII کے طور پر دوبارہ انکوڈ کرنا پراکسی کو کچھ ملنے سے پہلے ہی اقدار بدل سکتا ہے۔ چھوٹا متنی نمونہ کام کرنا اس راستے کو تصویر، آرکائیو یا دستاویز کے لیے محفوظ نہیں بناتا۔

موجودہ .NET اپ لوڈ راستے میں اس تبدیلی کو بائنری باڈی ماخذ سے بدل دیں:

using var file = File.OpenRead(path);
using var content = new StreamContent(file);

مواد کو ایپلیکیشن کے ترتیب شدہ HTTP اپ لوڈ کے ذریعے گزارں؛ یہ ٹکڑا باڈی ماخذ قائم کرتا ہے، جبکہ موجودہ کلائنٹ اب بھی میتھڈ، منزل، پراکسی اور زندگی کے دورانیے کی ذمہ داری رکھتا ہے۔

پرانی سٹرنگ کے حروف کی تعداد سے شمار کیا گیا کوئی بھی Content-Length ہٹا دیں۔ یہ فیلڈ آکٹیٹس میں پیمائش کرتی ہے۔ HTTP لائبریری کو باڈی کی نمائندگی سے فریمنگ بنانے دیں، بجائے اس کے کہ حروف کی تعداد کو مختلف انکوڈ شدہ بفر کے ساتھ جوڑا جائے۔

جان بوجھ کر متنی اپ لوڈ کے لیے انکوڈنگ واضح طور پر منتخب کریں اور مطلوبہ لمبائی بھیجے گئے بائٹس سے اخذ کریں۔ متن کی شکل کا یہ فیصلہ کسی بھی فائل پر لاگو نہیں کرنا چاہیے۔

منتقل شدہ فائل کا موازنہ قابلِ اعتماد متوقع قدر سے کریں۔ HTTP کی کامیابی تصدیق کرتی ہے کہ اس سطح پر اپ لوڈ عمل مکمل ہوا؛ یہ نہیں دکھا سکتی کہ پچھلی متن کی تبدیلی نے اصل بائٹس محفوظ رکھے تھے۔

متعلقہ مضامین