ప్రాక్సీ ద్వారా అప్లోడ్ చేసేటప్పుడు బైనరీ ఫైల్ బైట్లను నిల్వ చేయండి
ప్రాక్సీ ద్వారా అప్లోడ్ చేసేటప్పుడు ఫైల్ బైట్లను మరియు బైట్ పొడవులను నిల్వ చేయండి, ఫైల్ను టెక్స్ట్గా డీకోడ్ చేసి ASCII తో తిరిగి నిర్మించే బదులు.
బైనరీ ఫైల్ HTTP క్లయింట్కు బైట్లుగానే చేరాలి. దాన్ని టెక్స్ట్ రీడర్తో చదివి వచ్చిన స్ట్రింగ్ను ASCII గా తిరిగి ఎన్కోడ్ చేయడం ప్రాక్సీ ఏదైనా స్వీకరించే ముందే విలువలను మార్చవచ్చు. చిన్న టెక్స్ట్ నమూనా పనిచేయడం ఆ మార్గాన్ని చిత్రం, ఆర్కైవ్ లేదా పత్రం కోసం సురక్షితం చేయదు.
ఉన్న .NET అప్లోడ్ మార్గంలో ఆ మార్పిడిని బైనరీ బాడీ మూలంతో భర్తీ చేయండి:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);
కంటెంట్ను యాప్ కాన్ఫిగర్ చేసిన HTTP అప్లోడ్ ద్వారా పంపండి; ఈ భాగం బాడీ మూలాన్ని ఏర్పాటు చేస్తుంది, ఉన్న క్లయింట్ ఇప్పటికీ మెథడ్, గమ్యం, ప్రాక్సీ మరియు జీవితకాల నిర్వహణను కలిగి ఉంటుంది.
పాత స్ట్రింగ్ యొక్క అక్షరాల సంఖ్య నుండి లెక్కించిన ఏదైనా Content-Length ను తొలగించండి. ఈ ఫీల్డ్ ఆక్టెట్లలో కొలుస్తుంది. వేరే విధంగా ఎన్కోడ్ చేసిన బఫర్తో అక్షరాల సంఖ్యను జత చేయడం బదులు, HTTP లైబ్రరీని బాడీ ప్రాతినిధ్యం నుండి ఫ్రేమింగ్ నిర్మించనివ్వండి.
ఉద్దేశపూర్వక టెక్స్ట్ అప్లోడ్ కోసం, ఎన్కోడింగ్ను స్పష్టంగా ఎంచుకోండి మరియు అవసరమైన పొడవును పంపిన బైట్ల నుండి పొందండి. ఆ టెక్స్ట్ ఫార్మాట్ నిర్ణయాన్ని ఏకపక్ష ఫైల్లకు వర్తింపజేయకూడదు.
బదిలీ చేసిన ఫైల్ను విశ్వసనీయ ఆశించిన విలువతో పోల్చండి. HTTP విజయం ఆ పొరలో అప్లోడ్ ఆపరేషన్ పూర్తయిందని నిర్ధారిస్తుంది; మునుపటి టెక్స్ట్ మార్పిడి అసలు బైట్లను నిల్వ చేసిందని అది చూపలేదు.