如果我已经设法使用Server.MapPath找到并验证文件的存在,并且我现在想要将用户直接发送到该文件,那么将该绝对路径转换回相对Web路径的最快方法是什么?
我需要views\something在MVC 4.0中检索文件夹内的单个视图的名称(来自请求)并且我不确定如何最好地执行它.
我的代码有效,但它有一种'hacky'的感觉,我希望有人可以简化.
我的代码看起来像:
private FileInfo GetNameOfViewToServe()
{
var LeftPartOfUri = Request.Url.GetLeftPart(UriPartial.Authority);
var folder = Request.Url.AbsoluteUri.Replace(LeftPartOfFolderUri,string.Empty);
var directory = new DirectoryInfo(Server.MapPath(@"~\Views\" + folder));
return directory.GetFiles().First();
}
Run Code Online (Sandbox Code Playgroud)
是否有更优雅的方式来实现这一目标?
我有一个格式的文件路径file://SERVERNAME/FOLDER$/FOLDER/image.jpg.我打电话System.IO.File.Delete(Server.MapPath(file://SERVERNAME/FOLDER$/FOLDER/image.jpg))删除该文件,但我收到错误,file:/SERVERNAME/FOLDER$/FOLDER/image.jpg' is not a valid virtual path.我注意到'/'缺少,我不知道为什么.我该如何删除这样的文件?
我试过将我的文件路径转换为file:////SERVERNAME//FOLDER$//FOLDER//image.jpg但是这没有帮助.同样的事情发生了 如果我省略了Server.MapPath,我会收到错误,说URI不受支持.
怎么办呢?