c# - 将文件移动到另一个文件夹时,FileInfo.Path 显示值不在预期范围内异常

标签 c# file path uwp directory

如何应对超过最大字符数的路径?

我想将文件移动到符合用户意愿的另一个文件夹。但受到错误消息的困扰,如下所示: error message

代码:

string path = (carousel.SelectedItem as Book).FileInfo.Path;
StorageFile file1 = await StorageFile.GetFileFromApplicationUriAsync(new Uri((carousel.SelectedItem as Book).FileInfo.Path, UriKind.Absolute));
await file1.CopyAsync(ApplicationData.Current.LocalFolder, ((carousel.SelectedItem as FileInformation).Name), NameCollisionOption.ReplaceExisting);
Windows.UI.Popups.MessageDialog a = new Windows.UI.Popups.MessageDialog("Moved" + (carousel.SelectedItem as Book).Name, "To" + ApplicationData.Current.LocalFolder.Path);
await a.ShowAsync();

如何处理?

最佳答案

这看起来与超出最大字符数无关。 GetFileFromApplicationUriAsync 需要应用程序 URI(例如“ms-appx:///foo.txt”)而不是任意路径。

由于您有完整路径,请使用 StorageFile。 GetFileFromPathAsync

如果 FileInfo 已包含 StorageFile,则直接使用它,而不是转换为路径并返回。

关于c# - 将文件移动到另一个文件夹时,FileInfo.Path 显示值不在预期范围内异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41930894/

相关文章:

file - 如何检查给定路径是文件还是目录?

java - ubuntu java环境路径,bash :/etc/environment: permission denied?

c# - ExcelDNA 项目中的 SandcaSTLe 文档

c# - 错误地收到消息 "Edits were made to the code which cannot be applied while debugging"

c# - 初始化多个空列表

c# - LINQ 语句需要 Linq 通配符和 NOT 条件

C++ - 如何获取特定用户的桌面路径

java - android 读取多个txt文件并整理出来

ruby-on-rails - 在文件中的特定行插入行

python - 在 Python 3.4 中,比较路径的最佳/最简单方法是什么?