Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Está a desenvolver uma aplicação WinUI 3? Utilize o Microsoft.Windows.Storage.Pickers namespace em vez das APIs Windows.Storage.Pickers descritas neste artigo. Os selecionadores do SDK de Aplicações Windows (disponíveis no SDK de Aplicações Windows 1.8 e posteriores) foram concebidos para aplicações WinUI 3 — não requerem inicialização de identificador de janela e retornam resultados leves baseados em caminhos. Veja Guardar um ficheiro com um selector no WinUI e Abrir ficheiros e pastas com pickers no WinUI.
As APIs Windows.Storage.Pickers nesta página aplicam-se a aplicações UWP e a aplicações de ambiente de trabalho que requerem elevação (onde os selecionadores de SDK de Aplicações Windows não podem ser usados).
APIs importantes
Use FileSavePicker para permitir que os usuários especifiquem o nome e o local onde desejam que seu aplicativo salve um arquivo.
Observação
Para obter um exemplo completo, consulte o Exemplo de seletor de arquivos.
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.
FileSavePicker: passo a passo
Use um FileSavePicker para que os usuários possam especificar o nome, o tipo e o local de um arquivo a ser salvo. Crie, personalize e exiba um objeto seletor de arquivos; depois, salve os dados através do objeto StorageFile retornado, que representa o ficheiro selecionado.
Criar e personalizar o FileSavePicker
var savePicker = new Windows.Storage.Pickers.FileSavePicker(); savePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary; // Dropdown of file types the user can save the file as savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" }); // Default file name if the user does not type one in or select a file to replace savePicker.SuggestedFileName = "New Document";Defina propriedades no objeto do seletor de arquivos que sejam relevantes para seus usuários e seu aplicativo. Este exemplo define três propriedades: SuggestedStartLocation, FileTypeChoices e SuggestedFileName.
Como nosso usuário está salvando um documento ou arquivo de texto, o exemplo define SuggestedStartLocation para a pasta local do aplicativo usando LocalFolder. Defina SuggestedStartLocation para um local apropriado para o tipo de arquivo que está sendo salvo, por exemplo, Música, Imagens, Vídeos ou Documentos. A partir do local de início, o usuário pode navegar para outros locais.
Como queremos ter certeza de que nosso aplicativo pode abrir o arquivo depois que ele é salvo, usamos FileTypeChoices para especificar os tipos de arquivo que o exemplo suporta (documentos do Microsoft Word e arquivos de texto). Verifique se todos os tipos de arquivo especificados são suportados pelo seu aplicativo. Os usuários poderão salvar seus arquivos como qualquer um dos tipos de arquivo que você especificar. Eles também podem alterar o tipo de arquivo selecionando outro dos tipos de arquivo especificados. A primeira opção de tipo de arquivo na lista será selecionada por padrão: para controlar isso, defina a propriedade DefaultFileExtension.
Observação
O seletor de arquivos também usa o tipo de arquivo selecionado atualmente para filtrar quais arquivos ele exibe, para que apenas os tipos de arquivo que correspondam aos tipos de arquivos selecionados sejam exibidos para o usuário.
- Para poupar o utilizador de digitar, o exemplo define um SuggestedFileName. Torne o nome de arquivo sugerido relevante para o arquivo que está sendo salvo. Por exemplo, como o Word, você pode sugerir o nome do arquivo existente, se houver um, ou a primeira linha de um documento, se o usuário estiver salvando um arquivo que ainda não tem um nome.
Observação
objetos FileSavePicker exibem o seletor de arquivos usando o modo de exibição PickerViewMode.List.
Mostrar o FileSavePicker e salvar no arquivo escolhido
Exiba o seletor de arquivos chamando PickSaveFileAsync. Depois que o usuário especifica o nome, o tipo de arquivo e o local e confirma salvar o arquivo, PickSaveFileAsync retorna um objeto StorageFile que representa o arquivo salvo. Você pode capturar e processar esse arquivo agora que tem acesso de leitura e gravação a ele.
Windows.Storage.StorageFile file = await savePicker.PickSaveFileAsync(); if (file != null) { // Prevent updates to the remote version of the file until // we finish making changes and call CompleteUpdatesAsync. Windows.Storage.CachedFileManager.DeferUpdates(file); // write to file await Windows.Storage.FileIO.WriteTextAsync(file, "file contents"); // Let Windows know that we're finished changing the file so // the other app can update the remote version of the file. // Completing updates may require Windows to ask for user input. Windows.Storage.Provider.FileUpdateStatus status = await Windows.Storage.CachedFileManager.CompleteUpdatesAsync(file); if (status == Windows.Storage.Provider.FileUpdateStatus.Complete) { this.textBlock.Text = "File " + file.Name + " was saved."; } else { this.textBlock.Text = "File " + file.Name + " couldn't be saved."; } } else { this.textBlock.Text = "Operation cancelled."; }
O exemplo verifica se o arquivo é válido e grava seu próprio nome de arquivo nele. Consulte também Criando, escrevendo e lendo um arquivo.
Sugestão
Deve sempre verificar o ficheiro guardado para se certificar de que é válido antes de executar qualquer outro processamento. Em seguida, você pode salvar o conteúdo no arquivo conforme apropriado para seu aplicativo e fornecer o comportamento apropriado se o arquivo escolhido não for válido.
Ver também
Ficheiros, pastas e bibliotecas