UWP C# 将 Assets 下任意文件保存至用户选择的位置

下面以点击按钮为例。

XAML文件

<Button Content="保存" Click="Button_ClickAsync"/>

c#文件

参考使用选取器保存文件

private async void Button_ClickAsync(object sender, RoutedEventArgs e) {
    
    
    var savePicker = new Windows.Storage.Pickers.FileSavePicker {
    
    
        SuggestedStartLocation =
        Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary
    };
    // Dropdown of file types the user can save the file as
    savePicker.FileTypeChoices.Add("可执行文件", new List<string>() {
    
     ".exe" });
    // Default file name if the user does not type one in or select a file to replace
    savePicker.SuggestedFileName = "AAAA";

    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.
        CachedFileManager.DeferUpdates(file);
        // read asset file
        var storagefile = await StorageFile.GetFileFromApplicationUriAsync(new Uri("ms-appx:///Assets/AAAA.exe"));
        // copy to file
        await storagefile.CopyAndReplaceAsync(file);
        // 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 CachedFileManager.CompleteUpdatesAsync(file);
        if (status == Windows.Storage.Provider.FileUpdateStatus.Complete) {
    
    
            await new MessageDialog(file.Name + " 已释放至 " + file.Path, "提示").ShowAsync();
        } else {
    
    
            await new MessageDialog(file.Name + " 释放至 " + file.Path + " 失败", "提示").ShowAsync();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/u011570312/article/details/131708696
UWP