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.
Importante
Criando um aplicativo WinUI 3? Use o Microsoft.Windows. Storage.Pickers namespace em vez das APIs Windows.Storage.Pickers descritas neste artigo. Os seletores de SDK do Aplicativo Windows (disponíveis em SDK do Aplicativo Windows 1.8 e posteriores) são projetados para aplicativos WinUI 3 – eles não exigem nenhuma inicialização do identificador de janela e retornam resultados leves baseados em caminho. Consulte Salvar um arquivo com um seletor no WinUI e abrir arquivos e pastas com seletores no WinUI.
As APIs Windows.Storage.Pickers nesta página se aplicam a aplicativos UWP e a aplicativos da área de trabalho que exigem elevação (em que os seletores de SDK do Aplicativo Windows não podem ser usados).
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.
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