【发布时间】:2016-09-24 06:50:46
【问题描述】:
问题
我有一个功能可以让用户在执行此操作时编辑图像我将这个新图像保存到他们保存到数据库等的文件中......
问题是当我尝试查找刚刚保存的文件时,它说它不存在但确实存在?
代码
这里我将新文件保存到 TEMP 文件夹:
string newFullTempFolderURL = Path.Combine(Global.TempFolder, newFullFileName + ".png");
_image.Save(newFullTempFolderURL, System.Drawing.Imaging.ImageFormat.Png);
此时,当我检查文件夹时,文件位于带有新图像的文件夹中。
然后,当我继续将文件上传到服务器(使用 BITS)时,我会检查以确保文件存在:
if (File.Exists(Path.Combine(Global.TempFolder + "\\" + newFullFileName)))
{
}
当我可以亲眼看到文件时,这将返回 false (不存在)!
有人遇到过同样的问题吗?
EDIT1:
newFullFileName 已经包含 .png:
string newFullFileName = string.Format(oldFileName.Substring(0, oldFileName.IndexOf("_") + 1) + DateTime.Now.ToString(), "yyyyMMddhhmmss").Replace(@"/", "").Replace(" ", "").Replace(":", "") + ".png";
【问题讨论】:
-
if 条件中缺少扩展名 .png..
-
什么是 newFullFileName?我认为它的末尾没有“.png”,因为它使用 + 扩展来创建 newFullTempFolderURL。
-
@Ben Clarke 如果它已经有了“.png”扩展名,那么你在创建“newFullTempFolderURL”时附加了另一个“.png”,所以它实际上是在创建“
.png.png”这仍然意味着您的 File.Exists 检查是错误的。 -
@Skintkingle 啊!我的错。我只是觉得变量
newFullTempFolderURL是.png.png。感谢您的帮助。 -
如果您只是将手动构建的路径
Global.TempFolder + "\\" + newFullFileName传递给它,那么使用Path.Combine有什么意义?
标签: c# file-exists