বাইনারি ফাইলকে HTTP ক্লায়েন্টের কাছে বাইট হিসেবে পৌঁছাতে হবে। টেক্সট রিডার দিয়ে পড়ে প্রাপ্ত স্ট্রিংটি ASCII হিসেবে পুনরায় এনকোড করলে প্রক্সি কিছু পাওয়ার আগেই মান বদলে যেতে পারে। ছোট টেক্সট নমুনা কাজ করলেই সেই পথটি ছবি, আর্কাইভ বা নথির জন্য নিরাপদ হয় না।

একটি বিদ্যমান .NET আপলোড পথে সেই রূপান্তরটি বাইনারি বডি উৎস দিয়ে প্রতিস্থাপন করুন:

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

অ্যাপ্লিকেশনের কনফিগার করা HTTP আপলোডের মধ্য দিয়ে কনটেন্টটি পাঠান; খণ্ডটি বডি উৎস স্থাপন করে, আর বিদ্যমান ক্লায়েন্ট এখনও মেথড, গন্তব্য, প্রক্সি ও লাইফটাইম ব্যবস্থাপনার দায়িত্বে থাকে।

পুরোনো স্ট্রিংয়ের অক্ষর সংখ্যা থেকে গণনা করা যেকোনো Content-Length সরিয়ে দিন। এই ফিল্ডটি অক্টেট মাপে। অক্ষর সংখ্যার সঙ্গে ভিন্ন এনকোডিংয়ের বাফার জোড়া না দিয়ে HTTP লাইব্রেরিকে বডি উপস্থাপন থেকে ফ্রেমিং তৈরি করতে দিন।

ইচ্ছাকৃত টেক্সট আপলোডের জন্য এনকোডিং স্পষ্টভাবে বেছে নিন এবং প্রয়োজনীয় দৈর্ঘ্য পাঠানো বাইট থেকে বের করুন। এই টেক্সট-ফরম্যাট সিদ্ধান্ত নির্বিচার ফাইলে প্রয়োগ করা উচিত নয়।

স্থানান্তরিত ফাইলটি একটি বিশ্বস্ত প্রত্যাশিত মানের সঙ্গে তুলনা করুন। HTTP সাফল্য নিশ্চিত করে যে সেই স্তরে একটি আপলোড কার্যক্রম সম্পন্ন হয়েছে; এটি দেখাতে পারে না যে পূর্ববর্তী টেক্সট রূপান্তর মূল বাইট সংরক্ষণ করেছে।

সম্পর্কিত নিবন্ধ