public string CreatePostData(string url, string uid, string savename, string filename, string filepath)
{
string boundary = Guid.NewGuid().ToString().Replace("-", "");
System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(url);
req.Method = "POST";
req.ContentType = "multipart/form-data; boundary=" + boundary;
byte[] beginBoundary = Encoding.UTF8.GetBytes("\r\n--" + boundary + "\r\n");
byte[] endBoundary = Encoding.UTF8.GetBytes("\r\n--" + boundary + "--\r\n");
string formitem = string.Empty;
byte[] formitembytes = null;
Stream memStream = new MemoryStream();
memStream.Write(beginBoundary, 0, beginBoundary.Length);
formitem = "Content-Disposition: form-data; name=\"uid\"\r\n\r\n" + uid;
formitembytes = Encoding.UTF8.GetBytes(formitem);
memStream.Write(formitembytes, 0, formitembytes.Length);
memStream.Write(beginBoundary, 0, beginBoundary.Length);
formitem = "Content-Disposition: form-data; name=\"savename\"\r\n\r\n" + savename;
formitembytes = Encoding.UTF8.GetBytes(formitem);
memStream.Write(formitembytes, 0, formitembytes.Length);
memStream.Write(beginBoundary, 0, beginBoundary.Length);
formitem = "Content-Disposition: form-data; name=\"savefile\"; filename=\"" + filename + "\"\r\n";
formitembytes = Encoding.UTF8.GetBytes(formitem);
memStream.Write(formitembytes, 0, formitembytes.Length);
formitem = "Content-Type: application/octet-stream\r\n\r\n";
formitembytes = Encoding.UTF8.GetBytes(formitem);
memStream.Write(formitembytes, 0, formitembytes.Length);
formitembytes = System.IO.File.ReadAllBytes(filepath);
memStream.Write(formitembytes, 0, formitembytes.Length);
memStream.Write(endBoundary, 0, endBoundary.Length);
memStream.Position = 0;
byte[] bytes = new byte[memStream.Length];
memStream.Read(bytes, 0, bytes.Length);
memStream.Close();
System.IO.Stream newStream = req.GetRequestStream();
newStream.Write(bytes, 0, bytes.Length);
newStream.Close();
System.IO.Stream instream = req.GetResponse().GetResponseStream();
string content = new System.IO.StreamReader(instream, System.Text.Encoding.UTF8).ReadToEnd();
return content;
}