Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
APIs importantes
- FileOpenPicker
- FolderPicker
- Arquivo de Armazenamento
Acesse arquivos e pastas permitindo que o usuário interaja com um seletor. Você pode usar as classes FileOpenPicker e FileSavePicker para acessar arquivos e o FolderPicker para acessar uma pasta.
Observação
Para obter um exemplo completo, consulte o Exemplo de seletor de arquivos.
Observação
Em um aplicativo da área de trabalho (que inclui aplicativos WinUI), você pode usar o namespace Microsoft.Windows.Storage.Pickers para acessar os seletores de arquivos e pastas. Esse namespace está disponível no SDK de aplicativos Windows versão 1.8 e posterior. As APIs neste namespace são projetadas para funcionar perfeitamente com aplicativos WinUI, fornecendo uma experiência consistente em diferentes tipos de aplicativos.
No entanto, se necessário, você ainda pode usar os seletores de arquivos e pastas WinRT de Windows.Storage.Pickers. Se o aplicativo da área de trabalho exigir elevação para ser executado, você precisará de uma abordagem diferente, pois essas APIs não foram projetadas para serem usadas em um aplicativo elevado. Para obter um exemplo, consulte FileSavePicker.
Pré-requisitos
Compreender a programação assíncrona para aplicativos da Plataforma Universal do Windows (UWP)
Você pode aprender a escrever aplicativos assíncronos em C# ou Visual Basic, consulte Chamar APIs assíncronas em C# ou Visual Basic. Para saber como escrever aplicativos assíncronos em C++, consulte Programação assíncrona em C++.
Permissões de acesso ao local
Consulte Permissões de acesso a ficheiros.
Interface do usuário do seletor de arquivos
Um seletor de arquivos exibe informações para orientar os usuários e fornecer uma experiência consistente ao abrir ou salvar arquivos.
Essas informações incluem:
- A localização atual
- O item ou itens que o usuário escolheu
- Uma árvore de locais que o utilizador pode explorar. Esses locais incluem locais do sistema de arquivos, como a pasta Música ou Downloads, bem como aplicativos que implementam o contrato do seletor de arquivos (como Câmera, Fotos e Microsoft OneDrive).
Um aplicativo de email pode exibir um seletor de arquivos para o usuário escolher anexos.
Como funcionam os catadores
Com um seletor, seu aplicativo pode acessar, navegar e salvar arquivos e pastas no sistema do usuário. O seu aplicativo recebe essas escolhas como objetos StorageFile e StorageFolder, com os quais pode operar.
O seletor usa uma interface única e unificada para permitir que o usuário escolha arquivos e pastas do sistema de arquivos ou de outros aplicativos. Os ficheiros selecionados de outras aplicações são como ficheiros do sistema de ficheiros: são devolvidos como objetos StorageFile . Em geral, seu aplicativo pode operar neles da mesma maneira que outros objetos. Outras aplicações disponibilizam arquivos ao participar em contratos de seletores de arquivos. Se pretender que a sua aplicação forneça ficheiros, uma localização para guardar ou atualizações de ficheiros para outras aplicações, consulte Integração com contratos de seletor de ficheiros.
Por exemplo, você pode chamar o seletor de arquivos em seu aplicativo para que o usuário possa abrir um arquivo. Isso torna o seu aplicativo o aplicativo de chamada. O seletor de arquivos interage com o sistema e/ou outros aplicativos para permitir que o usuário navegue e escolha o arquivo. Quando o usuário escolhe um arquivo, o seletor de arquivos retorna esse arquivo para seu aplicativo. Aqui está o processo para o caso do usuário escolher um arquivo de um aplicativo de fornecimento, como o OneDrive.
Escolha um único arquivo: listagem completa de códigos
var picker = new Windows.Storage.Pickers.FileOpenPicker();
picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");
picker.FileTypeFilter.Add(".png");
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
if (file != null)
{
// Application now has read/write access to the picked file
this.textBlock.Text = "Picked photo: " + file.Name;
}
else
{
this.textBlock.Text = "Operation cancelled.";
}
Escolha um único ficheiro: passo-a-passo
Usar um seletor de arquivos envolve criar e personalizar um objeto do seletor de arquivos e, em seguida, mostrar o seletor de arquivos para que o usuário possa escolher um ou mais itens.
Criar e personalizar um FileOpenPicker
var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; picker.FileTypeFilter.Add(".jpg"); picker.FileTypeFilter.Add(".jpeg"); picker.FileTypeFilter.Add(".png");Defina propriedades no objeto do seletor de arquivos relevantes para seus usuários e aplicativo.
Este exemplo cria uma exibição visual rica de imagens em um local conveniente que o usuário pode escolher definindo três propriedades: ViewMode, SuggestedStartLocation e FileTypeFilter.
Definir ViewMode para o PickerViewModeThumbnail valor enum cria uma exibição visual rica usando miniaturas de imagem para representar arquivos no seletor de arquivos. Faça isso para escolher arquivos visuais, como fotos ou vídeos. Caso contrário, use PickerViewMode.List. Um aplicativo de e-mail hipotético com os recursos de Anexar Imagem ou Vídeo e Anexar Documento definiria o ViewMode adequado para o recurso antes de mostrar o seletor de arquivos.
Definir SuggestedStartLocation como Imagens usando PickerLocationId.PicturesLibrary inicia o usuário em um local onde é provável que ele encontre imagens. Defina SuggestedStartLocation para um local apropriado para o tipo de arquivo que está sendo selecionado, por exemplo, Música, Imagens, Vídeos ou Documentos. A partir do local de início, o usuário pode navegar para outros locais.
Usar FileTypeFilter para especificar tipos de arquivo mantém o usuário focado em selecionar arquivos que são relevantes. Para substituir tipos de arquivo anteriores no FileTypeFilter por novas entradas, use ReplaceAll em vez de Add.
Mostrar o seletor de abertura de ficheiros
Para escolher um único arquivo
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { // Application now has read/write access to the picked file this.textBlock.Text = "Picked photo: " + file.Name; } else { this.textBlock.Text = "Operation cancelled."; }Para escolher vários arquivos
var files = await picker.PickMultipleFilesAsync(); if (files.Count > 0) { StringBuilder output = new StringBuilder("Picked files:\n"); // Application now has read/write access to the picked file(s) foreach (Windows.Storage.StorageFile file in files) { output.Append(file.Name + "\n"); } this.textBlock.Text = output.ToString(); } else { this.textBlock.Text = "Operation cancelled."; }
Escolha uma pasta: listagem completa de códigos
var folderPicker = new Windows.Storage.Pickers.FolderPicker();
folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop;
folderPicker.FileTypeFilter.Add("*");
Windows.Storage.StorageFolder folder = await folderPicker.PickSingleFolderAsync();
if (folder != null)
{
// Application now has read/write access to all contents in the picked folder
// (including other sub-folder contents)
Windows.Storage.AccessCache.StorageApplicationPermissions.
FutureAccessList.AddOrReplace("PickedFolderToken", folder);
this.textBlock.Text = "Picked folder: " + folder.Name;
}
else
{
this.textBlock.Text = "Operation cancelled.";
}
Sugestão
Sempre que a sua aplicação aceder a um ficheiro ou pasta através de um seletor, adicione-o à FutureAccessList da aplicação ou à MostRecentlyUsedList para o acompanhar. Você pode saber mais sobre como usar essas listas em Como rastrear arquivos e pastas usados recentemente.