我只是想将图片上传到服务器。
当我从中选择图像时,我会得到该图像的 URI。
问题是如何将此 URI 转换为 byte[]
字节数组?
不多也不少。这是我的问题
这就是我一直在尝试的。
我试图重写这个https://colinyeoh.wordpress.com/2012/05/18/android-convert-image-uri-to-byte-array/ 到 C#
public byte[] convertImageToByte(Android.Net.Uri uri)
{
byte[] data = null;
try
{
ContentResolver cr = this.ContentResolver;
var inputStream = cr.OpenInputStream(uri);
Bitmap bitmap = BitmapFactory.DecodeStream(inputStream);
var baos = new ByteArrayOutputStream();
bitmap.Compress(Bitmap.CompressFormat.Jpeg, 100, baos);
data = baos.ToByteArray();
}
catch (FileNotFoundException e)
{
e.PrintStackTrace();
}
return data;
}
但是错误...
Error CS1503: Argument `#3' cannot convert `Java.IO.ByteArrayOutputStream' expression to type `System.IO.Stream' (CS1503) (Foodle.Droid)
如何解决这个问题?或从图库中获取图像并将其转换为字节数组的新代码很好。
帮助!
最佳答案
public byte[] convertImageToByte(Android.Net.Uri uri)
{
Stream stream = ContentResolver.OpenInputStream(uri);
byte[] byteArray;
using (var memoryStream = new MemoryStream())
{
stream.CopyTo(memoryStream);
byteArray = memoryStream.ToArray();
}
return byteArray;
}
关于java - Xamarin android 图像 URI 到字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43753989/