我正在尝试用 AppData 子目录中的新版本覆盖文件。
当前的过程是用户必须选择要覆盖的文件,以及它所在的文件夹目录,以便我可以将它们添加到未来的访问列表中。稍后,用户可以从一组图像中进行选择,此时它需要复制并覆盖目标文件。我尝试执行此操作的代码如下:
// lets try to copy file to wallpaper default location.
ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
var faToken = localSettings.Values["WallpaperStorageFileFAToken"] as string;
var faTokenFolder = localSettings.Values["WallpaperStorageFolderFAToken"] as string;
var destinationFile = await LoadExistingFileSelection(faToken);
var destinationFolder = await LoadExistingFolderSelection(faTokenFolder);
StorageFile movedFile = null;
try
{
movedFile = await imageFile.CopyAsync(destinationFolder, destinationFile.Name, NameCollisionOption.ReplaceExisting);
}
catch (Exception genEx)
{
//
}
在用户使用Fa
an 获取目标目录后获取令牌,使用a获取目标目录。FileOpenPicker
StorageFile
FolderPicker
StorageFolder
LoadExistingFolderSelection 和 LoadExistingFileSelection 使用以下代码位来获取StorageFiles
和StorageFolder
await StorageApplicationPermissions.FutureAccessList.GetFileAsync(faToken);
和
await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(faFolderToken);
问题是这一行:
imageFile.CopyAsync(destinationFolder, destinationFile.Name, NameCollisionOption.ReplaceExisting);
引发此错误:
“价值不在预期范围内。”
就是这样,实际上没有别的,任何想法都会很棒。