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

1 篇文章 0 订阅

下面以点击按钮为例。

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();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值