ପ୍ରକ୍ସି ମାଧ୍ୟମରେ ଅପଲୋଡ୍ କରିବା ସମୟରେ ବାଇନାରୀ ଫାଇଲର ବାଇଟ୍ ସଂରକ୍ଷିତ ରଖନ୍ତୁ
ପ୍ରକ୍ସି ମାଧ୍ୟମରେ ଅପଲୋଡ୍ କରିବା ସମୟରେ ଫାଇଲର ବାଇଟ୍ ଏବଂ ବାଇଟ୍ ଦୈର୍ଘ୍ୟ ସଂରକ୍ଷିତ ରଖନ୍ତୁ, ଫାଇଲକୁ ପାଠ୍ୟ ଭାବରେ ଡିକୋଡ୍ କରି ASCII ସହିତ ପୁନଃନିର୍ମାଣ କରିବା ପରିବର୍ତ୍ତେ।
ଏକ ବାଇନାରୀ ଫାଇଲ୍ HTTP କ୍ଲାଏଣ୍ଟ ପାଖକୁ ବାଇଟ୍ ଭାବରେ ପହଞ୍ଚିବା ଉଚିତ। ଏହାକୁ ପାଠ୍ୟ ପାଠକ ସହିତ ପଢ଼ି ଫଳାଫଳ ଷ୍ଟ୍ରିଙ୍ଗକୁ ASCII ଭାବରେ ପୁନଃ ଏନକୋଡ୍ କରିବା ଦ୍ୱାରା ପ୍ରକ୍ସି କିଛି ଗ୍ରହଣ କରିବା ପୂର୍ବରୁ ମୂଲ୍ୟଗୁଡ଼ିକ ବଦଳିପାରେ। ଏକ ଛୋଟ ପାଠ୍ୟ ନମୁନା କାମ କରିବା ଏହି ପଥକୁ ଚିତ୍ର, ଅଭିଲେଖ କିମ୍ବା ଦଲିଲ ପାଇଁ ସୁରକ୍ଷିତ କରେ ନାହିଁ।
ବିଦ୍ୟମାନ .NET ଅପଲୋଡ୍ ପଥରେ ସେହି ରୂପାନ୍ତରଣକୁ ବାଇନାରୀ ବଡି ଉତ୍ସ ସହିତ ବଦଳାନ୍ତୁ:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);
ଆପ୍ଲିକେସନର କନଫିଗର ହୋଇଥିବା HTTP ଅପଲୋଡ୍ ମାଧ୍ୟମରେ ବିଷୟବସ୍ତୁ ପଠାନ୍ତୁ; ଏହି ଅଂଶ ବଡି ଉତ୍ସ ସ୍ଥାପନ କରେ, ଯେତେବେଳେ ବିଦ୍ୟମାନ କ୍ଲାଏଣ୍ଟ ଏବେ ମଧ୍ୟ ପଦ୍ଧତି, ଗନ୍ତବ୍ୟସ୍ଥଳ, ପ୍ରକ୍ସି ଏବଂ ଜୀବନକାଳ ପରିଚାଳନାର ମାଲିକ।
ପୁରୁଣା ଷ୍ଟ୍ରିଙ୍ଗର ଅକ୍ଷର ସଂଖ୍ୟାରୁ ଗଣନା କରାଯାଇଥିବା ଯେକୌଣସି Content-Length ଅପସାରଣ କରନ୍ତୁ। ଏହି କ୍ଷେତ୍ର ଅକ୍ଟେଟରେ ମାପେ। ଭିନ୍ନ ଭାବରେ ଏନକୋଡ୍ ହୋଇଥିବା ବଫର ସହିତ ଅକ୍ଷର ସଂଖ୍ୟା ଯୋଡ଼ିବା ପରିବର୍ତ୍ତେ HTTP ଲାଇବ୍ରେରୀକୁ ବଡି ପ୍ରତିନିଧିତ୍ୱରୁ ଫ୍ରେମିଂ ତିଆରି କରିବାକୁ ଦିଅନ୍ତୁ।
ଉଦ୍ଦେଶ୍ୟପୂର୍ଣ୍ଣ ପାଠ୍ୟ ଅପଲୋଡ୍ ପାଇଁ, ଏନକୋଡିଂ ସ୍ପଷ୍ଟ ଭାବରେ ବାଛନ୍ତୁ ଏବଂ ଆବଶ୍ୟକ ଦୈର୍ଘ୍ୟ ପଠାଯାଇଥିବା ବାଇଟରୁ ନିର୍ଣ୍ଣୟ କରନ୍ତୁ। ସେହି ପାଠ୍ୟ-ଫର୍ମାଟ ନିଷ୍ପତ୍ତି ଯେକୌଣସି ଫାଇଲରେ ପ୍ରୟୋଗ କରାଯିବା ଉଚିତ ନୁହେଁ।
ସ୍ଥାନାନ୍ତରିତ ଫାଇଲକୁ ବିଶ୍ୱସନୀୟ ପ୍ରତ୍ୟାଶିତ ମୂଲ୍ୟ ସହିତ ତୁଳନା କରନ୍ତୁ। HTTP ସଫଳତା ସେହି ସ୍ତରରେ ଅପଲୋଡ୍ କାର୍ଯ୍ୟ ସମ୍ପୂର୍ଣ୍ଣ ହୋଇଥିବା ନିଶ୍ଚିତ କରେ; ପୂର୍ବ ପାଠ୍ୟ ରୂପାନ୍ତରଣ ମୂଳ ବାଇଟ ସଂରକ୍ଷିତ ରଖିଥିଲା ବୋଲି ଏହା ଦେଖାଇପାରିବ ନାହିଁ।