file . exists (file)为false,但文件存在
本文关键字:file 文件 存在 exists false | 更新日期: 2023-09-27 18:10:14
我在一个控制器中添加了一个文件,在另一个控制器中我想检查文件是否存在。我使用File.Exist(file)
,但它总是假的,即使文件存在…
I添加文件,并且图像添加成功。
if ((image!= null & image.ContentLength > 0))
{
string name = event.EventId.ToString() + ".jpg";
var fileName = name;
var path = Path.Combine(Server.MapPath("~/App_Data/Plakaty"), fileName);
plakat.SaveAs(path);
}
如果这个文件存在,我正在检查另一个控制器:
string file = "~/App_Data/Plakaty/" + wyd.EventId.ToString() + ".jpg";
ViewBag.file_exist = System.IO.File.Exists(file); //always is false
和我的视图:(它只返回"No file")
@if (ViewBag.file_exist == true)
{
<p>File exist</p>
}
else
{
<p>No file</p>
}
您需要在检查文件时再次执行Server.MapPath
并执行正斜杠
string file = Server.MapPath("~") + @"'App_Data'Plakaty'"
+ wyd.EventId.ToString() + ".jpg";
ViewBag.file_exist = System.IO.File.Exists(file ); //always is false
检查文件是否存在时忘记写Server.MapPath
您检查权限了吗?
如果在尝试确定指定文件是否存在时发生任何错误,则Exists方法返回false。这可能发生在引发异常的情况下,例如传递带有无效字符或过多字符的文件名、磁盘故障或丢失,或者调用者没有读取文件的权限。看到文档然而,最有可能的是@Obama回答说路径是错误的,因为你没有打电话给Server。MapPath