首页 > 解决方案 > Windows 10 Photo App 无法修改 AppData 文件夹中的图像

问题描述

我正在使用 AppData 文件夹,方法是在其中创建图像并将其发送到 Windows(使用 Process.Start(path-to-image))。这会导致内置照片查看器/编辑器以相关图像启动。当我查看为此创建的进程时,它显示以下作为可执行文件:

Microsoft.Windows.Photos_2018.18041.15530.0_x64__8wekyb3d8bbwe

现在,当我在应用程序中编辑照片并尝试将其保存在现有图像文件上时,照片应用程序说:

Opps!  We couldn't save that one.

但是,如果我用不同的名称在它旁边保存一个副本,一切都很好。

我已确保权限允许写入文件等。

请注意,如果我使用 Paint 3D 应用程序编辑图像,我可以覆盖原始文件。

我的问题是:我做错了什么,或者我应该使用更好的地方来存储应用程序特定的数据,我希望我的用户能够使用照片应用程序修改图像。

更新:

即使我尝试启动“ms-paint:”应用程序(Paint 3D),我也看不到能够将参数传递给它。

我只能启动无法保存图像的“基本”绘画应用程序,或者启动无法接受参数的绘画 3d 应用程序。

标签: c#appdata

解决方案


所以,我决定 AppData 目录应该只用于应用程序将要读取和写入的数据。它应该用于允许用户在那里查看/编辑文件的目的。

因此,我现在将要由用户编辑的图像放入该用户的图片目录中。我用:

Environment.GetFolderPath( Environment.SpecialFolder.MyPictures )

要获得该路径,并使用以下命令启动照片编辑器:

Process.Start( <path to image> )

因此,照片应用程序可以将任何更改写回该文件。


推荐阅读