c# - MediaPlugin - 从路径获取媒体文件

标签 c# arrays xamarin xamarin.forms

这可能是一个简单的问题,但我无法让它发挥作用。 我使用 TakePhotoAsync() 从相机设置图片没有问题。

问题是我将图片上传到 BlobStorage,并且我想从 blob Byte 数组中获取 Plugin.Media.Abstractions.MediaFile。 像这样的东西:

MediaFile file = new MediaFile(...);

有人知道怎么做吗?

提前致谢

编辑:根据答案,我的问题似乎不够清楚。 我可以拍照并将其上传到 Blob 存储。

这与我想做的相反,但不知道如何做。 我想从 Blob 存储中下载图片(以字节数组形式获取),然后从中获取 MediaFile。

最佳答案

首先,您需要使用以下代码拍摄图像:

EventImageFile = await CrossMedia.Current.TakePhotoAsync(
                        new StoreCameraMediaOptions
                        {
                            SaveToAlbum = true,
                            Directory = "your directory name",
                            Name = DateTime.Now + ".jpg",
                            DefaultCamera = CameraDevice.Rear,
                            //CompressionQuality = 10
                        });

然后你可以使用这段代码将其转换为 byte[]:

private byte[] ConvertMediaFileToByteArray(MediaFile file)
{
    using (var memoryStream = new MemoryStream())
    {
        file.GetStream().CopyTo(memoryStream);
        return memoryStream.ToArray();
    }
}

并将你的 byte[] 发布到 blob 存储

关于c# - MediaPlugin - 从路径获取媒体文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44132055/

相关文章:

javascript - 在数组上使用 delete 和随后的 .push() 会影响性能/内存消耗吗?

visual-studio - 缓慢的应用程序构建 - Xamarin for Visual Studio

xamarin - 在xamarin forms pcl项目中打开远程pdf的最佳方法

android - 在 Xamarin 中处理 Intent

c# - BadImageFormatException:尝试在C#中使用C++ DLL文件吗?

c# - 如何在 Xamarin 跨平台应用程序中自动从一个屏幕导航到另一个屏幕?

c# - Expression<Func<T1, T2>> 变量能否可靠地用作字典中的键?

c# - 禁用报告按钮链接不想禁用 - html5

c# - For循环使用有序数组格式错误

javascript - 使用javascript更改图像的src