ഒരു ബൈനറി ഫയൽ ബൈറ്റുകളായി തന്നെ HTTP ക്ലയന്റിൽ എത്തണം. അതിനെ ഒരു ടെക്‌സ്‌റ്റ് റീഡർ ഉപയോഗിച്ച് വായിച്ച് ലഭിച്ച സ്ട്രിംഗ് ASCII ആയി വീണ്ടും എൻകോഡ് ചെയ്യുന്നത്, പ്രോക്സി ഒന്നും സ്വീകരിക്കുന്നതിന് മുമ്പുതന്നെ മൂല്യങ്ങൾ മാറ്റിസ്ഥാപിക്കാം. ഒരു ചെറിയ ടെക്‌സ്‌റ്റ് സാമ്പിൾ പ്രവർത്തിക്കുന്നത് ആ പാതയെ ഒരു ഇമേജ്, ആർക്കൈവ് അല്ലെങ്കിൽ ഡോക്യുമെന്റിന് സുരക്ഷിതമാക്കുന്നില്ല.

നിലവിലുള്ള ഒരു .NET അപ്‌ലോഡ് പാതയിൽ, ആ പരിവർത്തനത്തെ ഒരു ബൈനറി ബോഡി ഉറവിടം കൊണ്ട് മാറ്റിസ്ഥാപിക്കുക:

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

ആപ്ലിക്കേഷനിൽ കോൺഫിഗർ ചെയ്ത HTTP അപ്‌ലോഡിലൂടെ ഉള്ളടക്കം കടത്തിവിടുക; ഈ ഭാഗം ബോഡി ഉറവിടം സ്ഥാപിക്കുന്നു, അതേസമയം നിലവിലുള്ള ക്ലയന്റ് ഇപ്പോഴും മെത്തേഡ്, ലക്ഷ്യസ്ഥാനം, പ്രോക്സി, ലൈഫ്‌ടൈം കൈകാര്യം എന്നിവയുടെ ഉത്തരവാദിത്വം വഹിക്കുന്നു.

പഴയ സ്ട്രിംഗിന്റെ പ്രതീകങ്ങളുടെ എണ്ണത്തിൽ നിന്ന് കണക്കാക്കിയ ഏതെങ്കിലും Content-Length നീക്കം ചെയ്യുക. ഈ ഫീൽഡ് ഒക്ടറ്റുകളിൽ അളക്കുന്നു. വ്യത്യസ്തമായി എൻകോഡ് ചെയ്ത ബഫറുമായി പ്രതീകങ്ങളുടെ എണ്ണം ജോടിയാക്കുന്നതിന് പകരം, HTTP ലൈബ്രറിയെ ബോഡി പ്രാതിനിധ്യത്തിൽ നിന്ന് ഫ്രെയിമിംഗ് നിർമ്മിക്കാൻ അനുവദിക്കുക.

ബോധപൂർവമുള്ള ഒരു ടെക്‌സ്‌റ്റ് അപ്‌ലോഡിന്, എൻകോഡിംഗ് വ്യക്തമായി തിരഞ്ഞെടുക്കുക, ആവശ്യമായ നീളം അയയ്ക്കുന്ന ബൈറ്റുകളിൽ നിന്ന് കണക്കാക്കുക. ആ ടെക്‌സ്‌റ്റ്-ഫോർമാറ്റ് തീരുമാനം ഏതെങ്കിലും ഫയലുകൾക്ക് ബാധകമാക്കരുത്.

കൈമാറ്റം ചെയ്ത ഫയലിനെ വിശ്വസനീയമായ പ്രതീക്ഷിത മൂല്യവുമായി താരതമ്യം ചെയ്യുക. HTTP വിജയം ആ പാളിയിൽ ഒരു അപ്‌ലോഡ് പ്രവർത്തനം പൂർത്തിയായി എന്ന് സ്ഥിരീകരിക്കുന്നു; മുൻ ടെക്‌സ്‌റ്റ് പരിവർത്തനം ഒറിജിനൽ ബൈറ്റുകൾ സംരക്ഷിച്ചു എന്ന് അതിന് കാണിക്കാനാവില്ല.

അനുബന്ധ ലേഖനങ്ങൾ