Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
APIs importantes
- FileSavePicker
- Arquivo de Armazenamento
Use FileSavePicker para permitir que os usuários especifiquem o nome e o local onde desejam que seu aplicativo salve um arquivo.
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 do Aplicativo do Windows versão 1.8 e posterior. As APIs nesse namespace foram projetadas para funcionar perfeitamente com aplicativos WinUI, fornecendo uma experiência consistente entre diferentes tipos de aplicativo.
Se necessário, você ainda pode usar seletores de arquivos e pastas do Windows.Storage.Pickers. No entanto, se o aplicativo da área de trabalho exigir elevação para ser executado, você precisará de uma abordagem diferente porque essas APIs não foram projetadas para serem usadas em um aplicativo com privilégios elevados. Para obter um exemplo, consulte FileSavePicker.
Pré-requisitos
Entenda a programação assíncrona para aplicativos da Plataforma Universal do Windows (UWP)
Você pode aprender a escrever aplicativos assíncronos no C# ou no Visual Basic, consulte Chamar APIs assíncronas no C# ou no Visual Basic. Para saber como escrever aplicativos assíncronos no C++, consulte programação assíncrona no C++.
Permissões de acesso ao local
Consulte Permissões de acesso a arquivos.
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 mostre um objeto seletor de arquivo e salve dados por meio do objeto StorageFile
Criar e personalizar a 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 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. No local de início, o usuário pode navegar para outros locais.
Como queremos garantir que nosso aplicativo possa abrir o arquivo depois que ele for salvo, usamos FileTypeChoices para especificar tipos de arquivo compatíveis com o exemplo (documentos do Microsoft Word e arquivos de texto). Verifique se todos os tipos de arquivo especificados são compatíveis com seu aplicativo. Os usuários poderão salvar o arquivo como qualquer um dos tipos de arquivo especificados. 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 no momento para filtrar quais arquivos ele exibe, de modo que somente os tipos de arquivo que correspondem aos tipos de arquivos selecionados sejam exibidos para o usuário.
- Para poupar o usuário de digitar tanto, o exemplo define um nome de arquivo sugerido . Torne o nome do 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 tenha 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 para salvar o arquivo, PickSaveFileAsync retorna um objeto StorageFile que representa o arquivo salvo. Você pode capturar e processar este arquivo agora que tem acesso de leitura e escrita 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.
Dica
Você sempre deve verificar o arquivo salvo para verificar se ele é 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.
Consulte também
arquivos, pastas e bibliotecas