繁体   English   中英

Xamarin android映像URI到Byte数组

[英]Xamarin android image URI to Byte array

我只是想将图像上传到服务器。

当我选择图像时,我得到该图像的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;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM