Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从MVC控制器访问static System.IO.File类?_C#_Asp.net Mvc_File - Fatal编程技术网

C# 如何从MVC控制器访问static System.IO.File类?

C# 如何从MVC控制器访问static System.IO.File类?,c#,asp.net-mvc,file,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.MapPat

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

[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);
}
控制器:

[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);
}
var nameDocFoto具有文件名 var dir有一个目录 路径名为docfoto+dir(正确)

现在我需要删除文件的代码。我能帮忙吗? 我只是试着这样做:

File.Delete(path);
但是得到这个错误:

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

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

使用
System.IO.File.delete()
,如
File()
控制器
的一种方法,im使用
使用System.IO
@CesarMiguel,并且仍然有来自控制器的
File()
方法。谢谢@CodeCaster,它可以工作