怎么接收Post过来的一段把图片转成二进制流的东西 对方传过来一段二进制流 我在控制器中该如何接收啊
如果是base64编码的,正常接收字符串就行了,再用base64解码回去就行了
这个接收信息偶是流,你就看他的编码规范你在同样规范解码就行啊
前端组件是什么?或者是原始html页面提交?后台语言是什么?c++/java/c#?这些场景决定了具体的解决方案,例如filestream,byte数组,
长字符串都是接收的方式
图片转成二进制流步骤:
1.将图片文件转化为字节数组字符串,java写法:调用file.getBytes()方法。
2.对其进行Base64编码处理。java写法:new BASE64Encoder()).encode(file.getBytes())。
可以百度一下其他语言的Base64语法,很简单
前端好像用前端的base64传进来好像是带了data:image/jpeg,base64:这段的,需要去掉然后后台获取可以先转文件也可以直接转流吧,写了很久了,抱歉
Image转byte[]
MemoryStream mstream = new MemoryStream();
img.Save(mstream, System.Drawing.Imaging.ImageFormat.Bmp);
byte[] byData = new Byte[mstream.Length];
mstream.Position = 0;
mstream.Read(byData, 0, byData.Length);
mstream.Close();
#region 图片转为base64编码的字符串
public static string ImgToBase64String(Bitmap bmp)
{
try
{
MemoryStream ms = new MemoryStream();
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] arr = new byte[ms.Length];
ms.Position = 0;
ms.Read(arr, 0, (int)ms.Length);
ms.Close();
return Convert.ToBase64String(arr);
}
catch (Exception ex)
{
return null;
}
}
#endregion
#region base64编码的字符串转为图片
public static Bitmap Base64StringToImage(string strbase64)
{
try
{
byte[] arr = Convert.FromBase64String(strbase64);
MemoryStream ms = new MemoryStream(arr);
System.Drawing.Image img = System.Drawing.Image.FromStream(ms);
return (Bitmap)img;
}
catch (Exception ex)
{
return null;
}
}
#endregion
byData就是