服务器MapPath无法在远程服务器

时间:2016-11-10 12:48:05

标签: asp.net-mvc-5 document server.mappath

我正在使用Server.MapPath来查找上传到远程服务器的文档的路径,以便我可以打开它。但是,在使用它时,它返回一个相对路径,因此不是搜索远程服务器而是搜索本地计算机。

我用来打开文档的是:

System.Diagnostics.Process.Start(Server.MapPath(Path.Combine("~/", document)));

哪里"文件"是相对于文档本身的路径的一部分,在本例中是" Files \ 2016 \ 11 \ doc_name"。所以我想走这个文档的路径,转到网站的顶层,然后从那里找到文档。

但是我希望这会返回类似于" server \ inetpub \ site \ Files \ 2016 \ 11 \ doc_name"但它返回的路径类似于" d:\ inetpub \ site \ Files \ 2016 \ 11 \ doc_name"。

有人可以帮助我找出正确的函数来获取我需要的路径吗?

修改

我已经设法使用以下代码将正确的路径聚集在一起:

string server = Environment.MachineName;
string path = Server.MapPath(Path.Combine("~/", documentpath));

System.Diagnostics.Process.Start(@"\\" + server + path.Substring(path.IndexOf(@"\")));

但是,虽然我可以在本地运行项目时访问该文件,但是当我尝试在发布的站点上执行此操作时,它会出错。由于我可以通过一种方式访问​​它,我假设它可能是权限(只是为了注意该站点正在使用Windows身份验证)。这是最可能的原因吗?

0 个答案:

没有答案
相关问题