【发布时间】:2022-01-19 09:10:46
【问题描述】:
我正在尝试使用以下逻辑将文件保存到 D:\folder1\folder2\file.txt:
public void ChangeBackground(ChangeBackgroundDto dto)
{
var dir = Directory.GetCurrentDirectory();
File.WriteAllBytes("../../Images/Custom/BackgroundHome.png", dto.BGFileFormat);
}
但是,当我这样做时,我最近遇到了一个异常,因为我的根目录位于 C:\programfiles(x86)\llsExpress。
异常信息为:Could not find a part of the path 'C:\\Images\\Custom\\BackgroundHome.png'.
即使我部署应用程序,什么路径也适用?
【问题讨论】:
-
试试这样的:string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\FileName.png";
-
旁注,大多数时候相对路径比绝对路径更合理。
-
您的文件夹必须存在,然后才能写入。我会在应用程序中创建一个新文件夹并写入它。为了将来参考,不要将错误和代码作为图像发布,而是将它们粘贴到您的问题中 - 使其更易于阅读,并为未来的人们提供发现相同问题的能力。
-
顺便说一句,在我看来,能够在您网站的根文件夹之外写入始终是一个潜在的安全风险。
-
@Adrian 我的文件夹确实已经存在。好的,这是我的第一个问题,我会的)