Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Klasa FilePicker umożliwia użytkownikowi wybranie jednego lub wielu plików z urządzenia.
Rozpocznij
Aby rozpocząć korzystanie z tego interfejsu API, przeczytaj przewodnik wprowadzający , Xamarin.Essentials aby upewnić się, że biblioteka jest prawidłowo zainstalowana i skonfigurowana w projektach.
Aby uzyskać dostęp do funkcji FilePicker , wymagana jest następująca konfiguracja specyficzna dla platformy.
Nie jest wymagana żadna dodatkowa konfiguracja.
Napiwek
Wszystkie metody muszą być wywoływane w wątku interfejsu użytkownika, ponieważ kontrole uprawnień i żądania są automatycznie obsługiwane przez Xamarin.Essentialsprogram .
Wybierz plik
FilePicker.PickAsync() metoda umożliwia użytkownikowi wybranie pliku z urządzenia. Podczas wywoływania metody można określić inny PickOptions sposób, aby określić tytuł do wyświetlenia, a typy plików, które użytkownik może wybrać. Domyślnie
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;
}
Domyślne typy plików są dostarczane z elementami FilePickerFileType.Images, FilePickerFileType.Pngi FilePickerFilerType.Videos. Można określić niestandardowe typy plików podczas tworzenia PickOptions i można je dostosować na platformę. Na przykład poniżej przedstawiono sposób określania określonych typów plików komiksowych:
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,
};
Wybierz wiele plików
Jeśli chcesz, aby użytkownik wybrał wiele plików, możesz wywołać metodę FilePicker.PickMultipleAsync() . Parametr przyjmuje PickOptions również jako parametr, aby określić dodatkowe informacje. Wyniki są takie same jak PickAsync, ale zamiast pojedynczego FileResult IEnumerable<FileResult> zwracana jest wartość , którą można iterować.
Napiwek
Właściwość FullPath nie zawsze zwraca ścieżkę fizyczną do pliku. Aby pobrać plik, użyj OpenReadAsync metody .
Różnice między platformami
- Brak różnic między platformami.