Hi all,
II am having problem sending zip file(binary file) using webrequest function from wince5.0 device to a webpage. It works fine for any file with size less than or equal to 1.5kb. Any bigger files, it did not return any error that i can see but then the sent files are just not stored on the server? They are just lost.
And i tried so many ways but still hopeless. can you please help me out.
Here are my code:
FROM WINCE DEVICE:
.............
FileStream fs = null;
WebRequest req = null;
Stream reqst = null;
fs = new FileStream(SourceFilePath, FileMode.Open, FileAccess.Read);
int totalLength = (((int)fs.Length) + 1);
byte[] buffer = new byte[totalLength];
fs.Read(buffer, 0, buffer.Length);
req = WebRequest.Create(GlobalHandler.g_strUploadUrl);
req.Method = "POST";
req.ContentType = "multipart/form-data";
WebHeaderCollection WH = new WebHeaderCollection();
WH.Add("FileName", MyFileName);
req.Headers = WH;
req.ContentLength = buffer.Length;
reqst = req.GetRequestStream(); //add data to request stream
Print("Geting Request Stream");
reqst.Write(buffer, 0, buffer.Length);// (buffer, 0, buffer.Length);
......................................
CODE FROM WEBPAGE:
.................................................. ............
StreamWriter tw = null;
Stream st = null;
FileStream output = null;
Page.Request.ContentType = "multipart/form-data";
string strFileNamePrefix = Page.Request.Headers.Get("FileName");
st = Page.Request.InputStream;
output = new FileStream(System.String.Concat(dirPath, strUnit, "\\", strDirectory, "\\", TimeStampInFileNameFormat(), ".zip"), FileMode.CreateNew);
Byte[] buffer = new Byte[4096];
int byteReads = st.Read(buffer, 0, 4096);
while (byteReads > 0)
{
output.Write(buffer, 0, byteReads);
byteReads = st.Read(buffer, 0, 4096);
}
st.Close();
output.Close();