ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਅੱਪਲੋਡ ਕਰਦੇ ਸਮੇਂ ਬਾਈਨਰੀ ਫ਼ਾਈਲ ਦੇ ਬਾਈਟ ਸੁਰੱਖਿਅਤ ਰੱਖੋ
ਪ੍ਰੌਕਸੀ ਰਾਹੀਂ ਅੱਪਲੋਡ ਕਰਦੇ ਸਮੇਂ ਫ਼ਾਈਲ ਦੇ ਬਾਈਟ ਅਤੇ ਬਾਈਟ ਲੰਬਾਈ ਸੁਰੱਖਿਅਤ ਰੱਖੋ, ਫ਼ਾਈਲ ਨੂੰ ਟੈਕਸਟ ਵਜੋਂ ਡੀਕੋਡ ਕਰਕੇ ASCII ਨਾਲ ਮੁੜ ਬਣਾਉਣ ਦੀ ਥਾਂ।
ਬਾਈਨਰੀ ਫ਼ਾਈਲ HTTP ਕਲਾਇੰਟ ਤੱਕ ਬਾਈਟ ਵਜੋਂ ਪਹੁੰਚਣੀ ਚਾਹੀਦੀ ਹੈ। ਇਸਨੂੰ ਟੈਕਸਟ ਰੀਡਰ ਨਾਲ ਪੜ੍ਹ ਕੇ ਨਤੀਜਾ ਸਟ੍ਰਿੰਗ ਨੂੰ ASCII ਵਜੋਂ ਮੁੜ ਐਨਕੋਡ ਕਰਨਾ ਪ੍ਰੌਕਸੀ ਦੇ ਕੁਝ ਵੀ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮੁੱਲ ਬਦਲ ਸਕਦਾ ਹੈ। ਛੋਟਾ ਟੈਕਸਟ ਨਮੂਨਾ ਚੱਲਣਾ ਉਸ ਰਾਹ ਨੂੰ ਤਸਵੀਰ, ਆਰਕਾਈਵ ਜਾਂ ਦਸਤਾਵੇਜ਼ ਲਈ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਬਣਾਉਂਦਾ।
ਮੌਜੂਦਾ .NET ਅੱਪਲੋਡ ਰਾਹ ਵਿੱਚ ਉਸ ਬਦਲਾਅ ਨੂੰ ਬਾਈਨਰੀ ਬਾਡੀ ਸਰੋਤ ਨਾਲ ਬਦਲੋ:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);
ਸਮੱਗਰੀ ਨੂੰ ਐਪ ਦੇ ਸੰਰਚਿਤ HTTP ਅੱਪਲੋਡ ਰਾਹੀਂ ਭੇਜੋ; ਇਹ ਟੁਕੜਾ ਬਾਡੀ ਸਰੋਤ ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਮੌਜੂਦਾ ਕਲਾਇੰਟ ਅਜੇ ਵੀ ਵਿਧੀ, ਮੰਜ਼ਿਲ, ਪ੍ਰੌਕਸੀ ਅਤੇ ਉਮਰ ਪ੍ਰਬੰਧਨ ਦਾ ਮਾਲਕ ਹੈ।
ਪੁਰਾਣੀ ਸਟ੍ਰਿੰਗ ਦੀ ਅੱਖਰ ਗਿਣਤੀ ਤੋਂ ਗਿਣਿਆ ਕੋਈ ਵੀ Content-Length ਹਟਾਓ। ਇਹ ਖੇਤਰ ਆਕਟੇਟ ਵਿੱਚ ਮਾਪਦਾ ਹੈ। ਵੱਖਰੇ ਤਰੀਕੇ ਨਾਲ ਐਨਕੋਡ ਕੀਤੇ ਬਫਰ ਨਾਲ ਅੱਖਰ ਗਿਣਤੀ ਜੋੜਨ ਦੀ ਥਾਂ HTTP ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਬਾਡੀ ਪ੍ਰਸਤੁਤੀ ਤੋਂ ਫਰੇਮਿੰਗ ਬਣਾਉਣ ਦਿਓ।
ਜਾਣਬੁੱਝ ਕੇ ਟੈਕਸਟ ਅੱਪਲੋਡ ਲਈ ਐਨਕੋਡਿੰਗ ਸਪਸ਼ਟ ਚੁਣੋ ਅਤੇ ਲੋੜੀਂਦੀ ਲੰਬਾਈ ਭੇਜੇ ਗਏ ਬਾਈਟਾਂ ਤੋਂ ਕੱਢੋ। ਉਹ ਟੈਕਸਟ-ਫਾਰਮੈਟ ਫੈਸਲਾ ਕਿਸੇ ਵੀ ਫ਼ਾਈਲ 'ਤੇ ਲਾਗੂ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ।
ਭੇਜੀ ਗਈ ਫ਼ਾਈਲ ਦੀ ਭਰੋਸੇਯੋਗ ਉਮੀਦ ਕੀਤੀ ਮੁੱਲ ਨਾਲ ਤੁਲਨਾ ਕਰੋ। HTTP ਸਫਲਤਾ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ ਕਿ ਉਸ ਪੱਧਰ 'ਤੇ ਅੱਪਲੋਡ ਕਾਰਵਾਈ ਪੂਰੀ ਹੋਈ; ਇਹ ਨਹੀਂ ਦਿਖਾ ਸਕਦੀ ਕਿ ਪਿਛਲੇ ਟੈਕਸਟ ਬਦਲਾਅ ਨੇ ਅਸਲ ਬਾਈਟ ਸੁਰੱਖਿਅਤ ਰੱਖੇ ਸਨ।