如何从MVC控制器访问静态System.IO.File类?

Ces*_*uel 2 c# asp.net-mvc file

我尝试删除控制器中的文件:

控制器:

[AcceptVerbs(HttpVerbs.Get)]
public JsonResult EliminarDocFotoContrato(int? DocFotoID)
{    
DocumentosFotosContrato docFoto = db.DocumentosFotosContrato.Find(DocFotoID);
var nomeDocFoto = docFoto.CaminhoDocFoto;
var dir = Server.MapPath("/uploads");
var path = Path.Combine(dir, nomeDocFoto);
var result = "Documento / Foto apagada.";
return Json(result, JsonRequestBehavior.AllowGet);
}
Run Code Online (Sandbox Code Playgroud)

var nameDocFoto具有名称文件var dir具有目录并且路径具有nameDocFoto + dir(它是正确的)

现在我需要代码来删除文件.我可以帮帮我吗?我只是尝试这样的事情:

File.Delete(path);
Run Code Online (Sandbox Code Playgroud)

但得到这个错误:

Error   2   'System.Web.Mvc.Controller.File(string, string, string)' is a 'method', which is not valid in the given context D:\VS2010\Projects\MvcTesteLayout\MvcTesteLayout\Controllers\_DadosComerciais\ContratoController.cs 1511    17  MvcTesteLayout
Run Code Online (Sandbox Code Playgroud)

Ben*_*enM 5

取而代之的File.Delete(path)是,在控制器的上下文中将使用该方法的控制器版本; 您需要使用System.IO.File.Delete()完全相同的方式来访问系统输入/输出版本(这是您需要的版本).如果未指定System.IO.File.,delete则默认为控制器版本,即使System.IO文件顶部有using语句也是如此.