删除已上传的文件

Jv_Yi 2009-12-14 07:13:11
string filepath = FileUpload1.PostedFile.FileName; //获取客户端文件全名
string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1); //获取上传的文件名
string serverPath = Server.MapPath("img/") + filename; //上传到服务器的路径
FileUpload1.PostedFile.SaveAs(serverPath); //将文件上传到服务器

//删除已上传的文件(假设已上传的文件在服务器的路径:F:\学习相关\ASP.NET\文件上传\img\20091130_003.jpg))
File.Delete("F:\\学习相关\\ASP.NET\\文件上传\\img\\20091130_003.jpg"); //可以删除文件

File.Delete(serverPath); //无效
serverPath 变量中存储的值是:F:\学习相关\ASP.NET\文件上传\img\20091130_003.jpg ,与写全的路径是一样的,为什么就删除不了图片文件呢?

string strPath=serverPath.Replace(@"\","\\");
File.Delete(strPath); //无效
strPath 中的值已经与 F:\\学习相关\\ASP.NET\\文件上传\\img\\20091130_003.jpg 相同,可为什么还是删除不了呢?

是我删除已上传的文件的方法根本就是错误的?请各位高手指教!
...全文
93 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jv_Yi 2009-12-17
  • 打赏
  • 举报
回复
谢谢各位的答复,各位所说的方法都对,已找到不能删的原因.
newlight527 2009-12-15
  • 打赏
  • 举报
回复
接上 注意先去掉文件的只读属性
Jv_Yi 2009-12-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
if(File.Exists(Server.MapPath(""))
File.Delete(Server.MapPath(""));

[/Quote]

判断文件是否已存在再删除,用变量代替文件路径这里测不到文件是存在的.
mngzilin 2009-12-14
  • 打赏
  • 举报
回复
FileInfo fi=new FileInfo(serverPath);
if(fi.Exsist)
fi.Delete();

zhujiazhi 2009-12-14
  • 打赏
  • 举报
回复
难道跟中文有关系的?
wuyq11 2009-12-14
  • 打赏
  • 举报
回复
if(File.Exists(Server.MapPath(""))
File.Delete(Server.MapPath(""));

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧