File.Exists返回false,即使我可以看到文件C#

Ben*_*rke 1 c# file-exists

问题


我有一个功能,让用户在执行此操作时编辑图像我将这个新图像保存到我保存到数据库等的文件中...

问题来自于当我尝试查找我刚刚保存的文件时它说它不存在但它确实存在?

码


这里我将新文件保存到TEMP文件夹:

string newFullTempFolderURL = Path.Combine(Global.TempFolder, newFullFileName + ".png");

_image.Save(newFullTempFolderURL, System.Drawing.Imaging.ImageFormat.Png);
Run Code Online (Sandbox Code Playgroud)

此时,当我检查文件夹时,文件位于包含新图像的文件夹中.

然后,当我继续将文件上传到服务器(使用BITS)时,我会检查以确保文件存在:

if (File.Exists(Path.Combine(Global.TempFolder + "\\" + newFullFileName)))
{

}
Run Code Online (Sandbox Code Playgroud)

当我可以亲眼看到文件时,这会返回false(不存在)!

有人有同样的问题吗?

EDIT1:

newFullFileName已包含.png:

string newFullFileName = string.Format(oldFileName.Substring(0, oldFileName.IndexOf("_") + 1) + DateTime.Now.ToString(), "yyyyMMddhhmmss").Replace(@"/", "").Replace(" ", "").Replace(":", "") + ".png";
Run Code Online (Sandbox Code Playgroud)

Sac*_*chu 7

根据您的编辑,您将.png添加到newFullFileName ..然后newFullTempFolderURL将为您的文件名添加另一个.png.

所以ti将成为FILENAME.png.png,它将返回错误.

从newfullFilename中删除.png

试试下面

   if (File.Exists( Path.Combine(Global.TempFolder, newFullFileName))
 {

 }
Run Code Online (Sandbox Code Playgroud)


Ski*_*gle 5

File.Exists不包含文件扩展名,因为在创建"newFullTempFolderURL"时手动添加它.您需要将".png"附加到File.Exists检查或更好地使用File.Exists(newFullTempFolderURL); 因为它已经预先制作好了.

编辑1:您第二次添加".png".这是错误的,因为创建的文件是".png.png",然后您要检查".png"是否存在.