string string_Img = context.Request.Form["photo"].ToString();
//发送过来的数据流有可能会含有不需要的字符,如果有下面正则验证的方法可以去掉;若没有直接存即可
Regex regex_input = new Regex(@"data:image/jpeg;base64,");
if (regex_input.IsMatch(string_Img))
{
string strRemove = regex_input.Match(string_Img).Value;
//去掉这些:data:image/jpeg;base64,
string_Img = string_Img.Remove(0, strRemove.Length);
byte[] byte_saveImg = Convert.FromBase64String(string_Img);//转换为等效的8位无符号整数组。
//存图
FileStream imgStream = new FileStream("YourSavePath", FileMode.Create);//此处保存路径是完整路径,包括文件名和扩展名
imgStream.Write(byte_saveImg, 0, byte_saveImg.Length);
imgStream.Close();
imgStream.Dispose();
//用下面的代码也可以完成保存功能
//System.IO.File.WriteAllBytes("YourSavePath", byte_saveImg);
}
另外接收POST数据流的一种方式:
//接收流
byte[] mybyte = context.Request.BinaryRead(context.Request.TotalBytes);
//格式化为字符串
//string mystr = System.Text.Encoding.UTF8.GetString(mybyte);