кодирование проекта формы xamarin, а также использование хранилища pcl. есть проблема с сохранением изображения или файла на устройстве, все примеры, которые я нашел, показывают, как сохранить поток массива байтов в файл, но ни один из них не показывает, как преобразовать изображение в пригодный для использования формат для сохранения.
var webImage = new Image();
webImage.Source = new UriImageSource
{
CachingEnabled = false,
Uri = new Uri("http://server.com/image.jpg"),
};
byte[] image = ????(what i need)????(webImage.Source);
// get hold of the file system
IFolder folder = rootFolder ?? FileSystem.Current.LocalStorage;
// create a file, overwriting any existing file
IFile file = await folder.CreateFileAsync(fileName, CreationCollisionOption.ReplaceExisting);
// populate the file with image data
using (System.IO.Stream stream = await file.OpenAsync(FileAccess.ReadAndWrite))
{
stream.Write(image, 0, image.Length);
}
Другими словами, ищем код для сохранения изображения/файла на устройстве с URL-адреса.
Пробовал ffimageloading, так как он содержит конвертер в byte[], но всегда получаю ошибку: «Ссылка на объект не указывает на экземпляр объекта». для методов GetImageAsJpgAsync и GetImageAsPngAsync. проблема может заключаться в том, что изображение загружено не полностью. но событие завершения и команда завершения никогда не вызываются, даже если изображение полностью загружено на экран и привязано к cachedImage.
var cachedImage = new CachedImage()
{
Source = "https://something.jpg",
FinishCommand = new Command(async () => await TEST()),
};
cachedImage.Finish += CachedImage_Finish;
var image = await cachedImage.GetImageAsJpgAsync();