【发布时间】:2013-01-02 21:08:19
【问题描述】:
我在 .aspx 页面上有文件上传控件,我想一次上传一个位置并不总是相同的图像,可能与 .sln 在同一目录中,在桌面上,在任何地方。
我正在使用这段代码来读取文件创建时间
string savePath = MapPath("~/" + Path.GetFileName(e.FileName));
FileInfo MyFileInfo = new FileInfo(savePath);
string dt = MyFileInfo.CreationTime.Day.ToString();
string mn = MyFileInfo.CreationTime.Month.ToString();
string yr = MyFileInfo.CreationTime.Year.ToString();
我注意到一件事
如果图像与网站位于同一文件夹中,它会为我提供所有正确的值
dt、mn 和 yr
但如果它在那个位置之外,它每次都会给我相同的价值
{01/01/1601 00:00:00}
不确定如何解决这个问题? 任何建议,有用的代码?谢谢
【问题讨论】:
-
我怀疑您刚刚输入了错误的文件名 - 或者您没有读取文件的权限。来自文档:“如果 FileSystemInfo 对象中描述的文件不存在,则此属性将返回 1601 年 1 月 1 日午夜 12:00,协调世界时 (UTC),调整为本地时间。”
-
我明白了,我有 MyFileInfo.Exists = false,所以当我尝试访问不同目录中的文件时这是有道理的,但我想知道是否还有其他方法可以解决这个问题?
-
好吧,我们必须首先确切地知道哪里出了问题。这很可能只是权限问题 - 您是否已授予相应 ASP.NET 帐户查看该文件的权限?
-
这对我来说是新的。我怎样才能做到这一点?谢谢
-
如何传递不同的目录名? e.FileName 之前的
~/指的是您网站的根目录。因此,您需要一个相对路径才能到达站点根目录之外的目录
标签: c# asp.net asyncfileupload fileinfo