Этот путь Path.Combine(FileSystem.AppDataDirectory, "data", "Demo.jpg");
является локальным путем приложения на платформе UWP. И это не путь установки приложения. если поместить Demo.jpg
в папку вашего проекта, вы не найдете его с указанным выше путем. И параметр ImageSource.FromFile(string file)
- это имя файла, но не полный путь. Подробнее см. Этот случай ответ .
Я попытался await StorageFile.GetFileFromApplicationUriAsyn c () этот код, чтобы получить поток изображения из местоположения, но это выдает исключение.
Для платформы UWP вы можете использовать следующее для преобразования файла образа (свойство build - Content) в steam. Для получения дополнительной информации, пожалуйста, обратитесь к этому документу .
private async Task<Stream> GetStreamAsync()
{
var file = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/Demo.jpg"));
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
return stream.AsStream();
}
. И если вы хотите использовать вышеприведенное в клиентском проекте Xamarin Forms, вам нужен пакет выше метода с DependencyService .