Хочу по нажатию кнопки открывать проводник для выбора файла (FileOpenPicker) и после этого преобразовывать выбранный файл в base64. Никак не получается разобраться как связать тип переменной, который я получаю после выполнения кода:
FileOpenPicker open = new FileOpenPicker();
open.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
open.ViewMode = PickerViewMode.Thumbnail;
// Filter to include a sample subset of file types
open.FileTypeFilter.Clear();
open.FileTypeFilter.Add(".bmp");
open.FileTypeFilter.Add(".png");
open.FileTypeFilter.Add(".jpeg");
open.FileTypeFilter.Add(".jpg");
// Open a stream for the selected file
StorageFile file = await open.PickSingleFileAsync();
С примером кода base64:
var fB = File.ReadAllBytes(@"C:\rab\kot.jpg");
string encodedFile = Convert.ToBase64String(fB);
Console.WriteLine("Base 64 Encoded File : {0}", encodedFile);
var dFB = Convert.FromBase64String(encodedFile);
File.WriteAllBytes(@"C:\rab\newkot.jpg", dFB);
Console.ReadKey();
StorageFile предоставляет информацию о файле. Еще у него есть метод OpenStreamForReadAsync, позволяющий открыть файл для чтения (возвращает поток). В итоге можно сделать так:
FileOpenPicker open = new FileOpenPicker();
open.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
open.ViewMode = PickerViewMode.Thumbnail;
// Filter to include a sample subset of file types
open.FileTypeFilter.Clear();
open.FileTypeFilter.Add(".bmp");
open.FileTypeFilter.Add(".png");
open.FileTypeFilter.Add(".jpeg");
open.FileTypeFilter.Add(".jpg");
// Open a stream for the selected file
StorageFile file = await open.PickSingleFileAsync();
var stream = await file.OpenStreamForReadAsync();
var bytes = new byte[(int)stream.Length];
stream.Read(bytes, 0, (int)stream.Length);
string encodedFile = Convert.ToBase64String(bytes);
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости