Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
FilePicker sınıfı, kullanıcının cihazdan tek veya birden çok dosya seçmesine olanak tanır.
Kullanmaya başlayın
Bu API'yi kullanmaya başlamak için kitaplığın projelerinizde düzgün yüklendiğinden ve ayarlandığından emin olmak için Xamarin.Essentials kullanmaya başlama kılavuzunu okuyun.
FilePicker işlevine erişmek için aşağıdaki platforma özgü kurulum gereklidir.
İpucu
İzin denetimleri ve istekleri tarafından Xamarin.Essentialsotomatik olarak işlenmek için ui iş parçacığında tüm yöntemler çağrılmalıdır.
Dosya Seç
FilePicker.PickAsync() yöntemi, kullanıcınızın cihazdan bir dosya seçmesini sağlar. Görüntülenecek başlığı ve kullanıcının seçmesine izin verilen dosya türlerini belirtmenize olanak tanıyan yöntemi çağırırken belirli bir farklılık PickOptions elde edebilirsiniz. Varsayılan olarak
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;
}
Varsayılan dosya türleri , FilePickerFileType.Pngve FilePickerFilerType.Videosile FilePickerFileType.Imagessağlanır. oluştururken PickOptions özel dosya türleri belirtebilirsiniz ve bunlar platform başına özelleştirilebilir. Örneğin, belirli çizgi roman dosya türlerini şu şekilde belirtebilirsiniz:
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,
};
Birden Çok Dosya Seç
Kullanıcınızın birden çok dosya seçmesini istiyorsanız yöntemini çağırabilirsiniz FilePicker.PickMultipleAsync() . Ayrıca, ek bilgileri belirtmek için parametre olarak da alır PickOptions . Sonuçlar ile aynıdır PickAsync, ancak tek FileResult bir yerine yinelenebilir bir IEnumerable<FileResult> döndürülür.
İpucu
FullPath özelliği her zaman dosyanın fiziksel yolunu döndürmez. Dosyayı almak için yöntemini kullanın OpenReadAsync .