无法使用UWP将文件移动到其他文件夹
我已设置访问文档文件夹的权限。无法使用UWP将文件移动到其他文件夹
我能够访问存储在文档中的文件夹中的文件。
我不明白为什么下面的代码不工作。
public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm)
{
try
{
string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel";
StorageFolder Bufolder = await StorageFolder.GetFolderFromPathAsync(strPathTarget);
var targetFile = await _subfdl.GetFileAsync(strfilenm);
await targetFile.CopyAsync(Bufolder, strfilenm, NameCollisionOption.ReplaceExisting);
await targetFile.DeleteAsync();
}
catch (Exception ex)
{
}
}
此文件夹我已手动创建,现在我需要访问它并将旧文件移动到此处。
string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel";
您应该使用KnownFolders.DocumentsLibrary
代替string strPathTarget = @"C:\Users\xxx-user\Documents\MyTravel
;
像这样:
public static async void CopyTheFile(StorageFolder _subfolder, string strfilenm) {
try {
StorageFolder Bufolder = await KnownFolders.DocumentsLibrary.GetFolderAsync("MyTravel") ;
var targetFile = await _subfolder.GetFileAsync(strfilenm);
await targetFile.CopyAsync(Bufolder, strfilenm, NameCollisionOption.ReplaceExisting);
await targetFile.DeleteAsync();
} catch (Exception ex) {
}
}
不要忘了,你需要的文件assosiations当你在目录中访问文件。见here。
奇怪的是没有工作。无法获取错误消息! – MilkBottle
你可以设置一个断点到catch行的结束并告诉什么是异常? – gregkalapos
我试过了,它不会停在那里,它跳过!我正在阅读文件,因为它们进入循环。当找到一个文件时,我使用上面的方法将它移动到其他文件夹。 – MilkBottle
“不工作”是什么意思?例外?如果是这样,那是什么? – gregkalapos
由于此方法为async,因此无法使用void:await StorageFolder.GetFolderFromPathAsync(strPathTarget)。因此,完全没有错误。 – MilkBottle
[永远不要使用async void](http://haacked.com/archive/2014/11/11/async-void-methods/)。 – Bart