Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Класс FilePicker позволяет пользователю выбрать один или несколько файлов на устройстве.
Начало работы
Чтобы начать использовать этот API, ознакомьтесь с руководством по началу работы с Xamarin.Essentials, чтобы правильно настроить и установить библиотеку в проектах.
Для доступа к функции FilePicker нужно создать описанную ниже конфигурацию для конкретной платформы.
Совет
Все методы должны вызываться в потоке пользовательского интерфейса, так как проверки разрешений и запросы автоматически обрабатываются Xamarin.Essentials.
Выбор файла
Метод FilePicker.PickAsync() позволяет пользователю выбрать файл на устройстве. Вы можете указать различные параметры PickOptions при вызове метода, что позволяет задать отображаемый заголовок и типы файлов, которые пользователю разрешено выбирать. По умолчанию
async Task<FileResult> PickAndShow(PickOptions options)
{
try
{
var result = await FilePicker.PickAsync(options);
if (result != null)
{
Text = $"File Name: {result.FileName}";
if (result.FileName.EndsWith("jpg", StringComparison.OrdinalIgnoreCase) ||
result.FileName.EndsWith("png", StringComparison.OrdinalIgnoreCase))
{
var stream = await result.OpenReadAsync();
Image = ImageSource.FromStream(() => stream);
}
}
return result;
}
catch (Exception ex)
{
// The user canceled or something went wrong
}
return null;
}
Типы файлов по умолчанию предоставляются с помощью FilePickerFileType.Images, FilePickerFileType.Png и FilePickerFilerType.Videos. При создании PickOptions можно указать пользовательские типы файлов для каждой платформы. Например, указать типы файлов комиксов можно следующим образом:
var customFileType =
new FilePickerFileType(new Dictionary<DevicePlatform, IEnumerable<string>>
{
{ DevicePlatform.iOS, new[] { "public.my.comic.extension" } }, // or general UTType values
{ DevicePlatform.Android, new[] { "application/comics" } },
{ DevicePlatform.UWP, new[] { ".cbr", ".cbz" } },
{ DevicePlatform.Tizen, new[] { "*/*" } },
{ DevicePlatform.macOS, new[] { "cbr", "cbz" } }, // or general UTType values
});
var options = new PickOptions
{
PickerTitle = "Please select a comic file",
FileTypes = customFileType,
};
Выбор нескольких файлов
Если вы хотите, чтобы пользователь мог выбрать несколько файлов, вызовите метод FilePicker.PickMultipleAsync(). Он также принимает параметр PickOptions для указания дополнительных сведений. Результат такой же, как и при вызове метода PickAsync, но вместо одного объекта FileResult возвращается IEnumerable<FileResult>, который можно перебирать.
Совет
Свойство FullPath не всегда возвращает физический путь к файлу. Чтобы получить файл, используйте метод OpenReadAsync.