c#判断文件存在问题 急急急

来源:百度知道 编辑:UC知道 时间:2024/06/14 22:43:14
if(!File.Exists(Server.MapPath("spath")))
{
postedFile.SaveAs(spath);
}
else
{
Alert("文件存在!");
为什么不管文件存在不存在 都会执行postedFile.SaveAs(spath); 判断语句不对吗?
我前面已经定义了
spath=@"D:\secrm\wlyp\";
spath+=""+name+"";
我想把文件存在d盘的上面的那个目录下,name是文件名参数
能帮我把Server.MapPath写出来吗 小弟刚学,它说需要虚拟路径 怎么写啊?
路径是对的 把if删掉出现的问题是没有重名的文件 就建立成功 有重名的文件 就会把源文件覆盖 用了if就说 MapPath“D:\secrm\wlyp\cheshi.doc”的路径无效。应为虚拟路径

问题解决了 谢谢各位大哥

(Server.MapPath("spath"))) 因为肯定是false
这个是需要路径的 也就是说你必须的写出你这个文件放的物理路径比如在哪个盘 哪个文件夹中的哪个文件 你只写一个文件名 连后缀都没有 返回的肯定是个false
又因为你前面判断的是非(!File.Exists(Server.MapPath("spath")))
所以肯定符合条件啦

Server.MapPath("~/"+文件全名)
----------------------------------
这样写Server.MapPath("~\secrm\wlyp\cheshi.doc")
如果string name="cheshi.doc";
Server.MapPath("~\secrm\wlyp\"+name)

你把Server.MapPath("spath")里面的双引号删了就OK了.真是.

------------

if(!File.Exists(Server.MapPath(spath)))
{
postedFile.SaveAs(spath);
}

-----------

不用写虚拟路径也OK啊.
你的:spath=@"D:\secrm\wlyp\";
确定这个路径正确?如果正确.就去检查文件夹的写入权限.

Server.MapPath("spath")是解析不了的,所以返回的是False,所以进入了IF

在此,你如果需要判断服务器上某个文件是否存在,应该这样写:
if(File.Exists(Server.MapPath("~")+"你的文件名"))