I am getting the
\"System.Net.ProtocolViolationException: You must write ContentLength bytes to the request stream before calling [Begin]GetResponse\
Your code should work for .NET 2.0 From 4.0 and up you should close the stream after writing:
dataStream = Webrequest.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
datastream.Close();
This finally worked by using:
using (dataStream = Webrequest.GetRequestStream())
{
dataStream.Write(byteArray, 0, byteArray.Length);
}
Instead of:
dataStream = Webrequest.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
Check to verify that your server is set up to accept large files. You may find that you are running into the 4 meg default limit.
Add the following to your web.config file for larger file uploading:
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>