62,046
社区成员
发帖
与我相关
我的任务
分享
protected void btnOK_Click(object sender, EventArgs e)
{
string fileName = @"C:\Users\Alex\Desktop\Photo\Test.jpg";
string boundary = "-----------------------------7d6bb34502ce";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://localhost/WcfRestDataSrv/MHDoctorSrv/UserUpdateFormPostFile");
request.Method = "POST";
request.ContentType = "multipart/form-data; boundary=" + boundary;
StringBuilder sb = new StringBuilder();
sb.Append("--" + boundary);
sb.Append("\r\n");
sb.Append("Content-Disposition: form-data; name=\"id\"");
sb.Append("\r\n\r\n");
sb.Append(this.txtURID.Text.Trim());
sb.Append("\r\n");
sb.Append("--" + boundary);
sb.Append("\r\n");
sb.Append("Content-Disposition: form-data; name=\"token\"");
sb.Append("\r\n\r\n");
sb.Append(this.txtToken.Text.Trim());
sb.Append("\r\n");
sb.Append("--" + boundary);
sb.Append("\r\n");
sb.Append("Content-Disposition: form-data; name=\"icon\";filename=\"" + fileName + "\"");
sb.Append("\r\n");
sb.Append("Content-Type: ");
sb.Append("image/pjpeg");
sb.Append("\r\n\r\n");
string postHeader = sb.ToString();
byte[] postHeaderBytes = Encoding.UTF8.GetBytes(postHeader);
byte[] boundaryBytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
long length = postHeaderBytes.Length + fs.Length + boundaryBytes.Length;
request.ContentLength = length;
Stream reqStream = request.GetRequestStream();
reqStream.Write(postHeaderBytes, 0, postHeaderBytes.Length);
byte[] buffer = new byte[fs.Length];
int bytesRead = 0;
while ((bytesRead = fs.Read(buffer, 0, buffer.Length)) != 0)
{
reqStream.Write(buffer, 0, bytesRead);
}
reqStream.Write(boundaryBytes, 0, boundaryBytes.Length);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream resStream = response.GetResponseStream();
string str;
using (StreamReader reader = new StreamReader(resStream))
{
str = reader.ReadToEnd();
}
}
[WebInvoke(ResponseFormat = WebMessageFormat.Json)]
[OperationContract]
public User UserUpdateFormPostFile(Stream input)
{
StreamReader sr = new StreamReader(input);
string str = sr.ReadToEnd();
}