asp.net将二进制数据转换为字符串

时间:2017-11-19 17:33:41

标签: c# .net api

我试图开发api,返回员工的个人资料,包括他们的照片,图像作为图像数据类型存储在sql数据库中

TypeConverter typeConverter = TypeDescriptor.GetConverter(typeof(Bitmap));
                 Bitmap bmp = (Bitmap)typeConverter.ConvertFrom(Emp.img);




                //3
                var Fs = new FileStream(HostingEnvironment.MapPath("~/Images") + @"\I" + id.ToString() + ".png", FileMode.Create);
                bmp.Save(Fs, ImageFormat.Png);
                bmp.Dispose();


                //4
                Image img = Image.FromStream(Fs);
                Fs.Close();
                Fs.Dispose();


                //5
                MemoryStream ms = new MemoryStream();
                img.Save(ms, ImageFormat.Png);


                //6
                response.Content = new ByteArrayContent(ms.ToArray());
                ms.Close();
                ms.Dispose();

                response.Content.Headers.ContentType = new MediaTypeHeaderValue("image/png");
                response.StatusCode = HttpStatusCode.OK;

                return response;
            } 

我想在android studio中使用这个api,我必须将图像数据类型转换为字符串或任何其他适用的数据时间与Volley

1 个答案:

答案 0 :(得分:0)

我将使用图像的base64表示:

byte[] imageAsBytes = File.ReadAllBytes(@"your\path\to\image.png");
string imageAsString = Convert.ToBase64String(imageArray);

然后将其发送回Android Studio客户端并执行以下操作:

byte[] imageAsStringInAndroidStudio = Base64.decode(encodedImage, Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length); 

只需检查是否必须删除"数据:image / jpg; base64"从解析到Android Studio之前的数据。