【发布时间】:2019-04-17 14:27:28
【问题描述】:
我有一个关于在将文件复制到程序调试目录后包含文件的问题。
我有一个 WPF 数据网格,在这个数据网格中,我显示了一个包含列名称、年龄和照片的员工列表。我可以双击一行打开一个新窗口来更新详细信息,其中包括照片。
在我的项目目录中,我有这些 folders 我已包含在我的项目中。默认文件夹由默认员工照片的 .jpg 文件组成,userData 文件夹将用于存储用户上传的照片。
在我的.csproj 文件中,我包含了这个:
<ItemGroup>
<Content Include="img\**">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
这可确保 img 文件夹在构建时被复制到输出目录。我还在userData 文件夹中添加了一个.txt 文件,否则它不会复制该文件夹。
当用户上传照片并在我的程序中点击保存时,它会做两件事:
- 将文件从源文件复制到相对路径
img\userData\filename.jpg的输出目录 - 更新该员工照片路径的 SQLite 记录,例如从
img\default\staffmember1default.jpg到img\userData\newstaffmember1.jpg
我的程序目前没有更新数据网格以反映更改,因此在关闭并运行程序时,它会为发生照片更改的工作人员显示一张空白照片。但是,如果我将该照片复制到项目中包含的 img\userData 目录中并重新加载它可以工作的程序。
有没有办法解决这个问题并允许它显示来自userData 目录的新照片?这整个方法是否合适,还是有更好的方法来处理整个过程?
【问题讨论】:
-
请注意,您的应用程序可能在其安装目录中没有写入权限。更好地将图像文件保存在 ApplicationData 的子文件夹中:stackoverflow.com/q/9709269/1136211
-
@Clemens 感谢您为我指明方向!我设法为您的链接问题创建了一个解决方案。
标签: c# wpf visual-studio