【问题标题】:get relative path from root folder for a file从根文件夹获取文件的相对路径
【发布时间】:2016-03-18 21:01:44
【问题描述】:

我无法为文件创建正确的下载链接。

这是预期的工作结果(正确的路径):http://localhost:60000/ManualMeterDocuments/client/Exports/client_0985-20160318-211554.xlsx

但这就是 MVC 所做的: http://localhost:60000/ManualMeters/~/ManualMeterDocuments/client/Exports/client_0985-20160318-211554.xlsx

ManualMeters/ => 控制器。

在我的控制器操作中,我得到了物理路径: C:\Data\Test\source\Portal\Portal\ManualMeterDocuments\Client\Exports\Client_0985-20160318-214256.xlsx 并尝试返回相对路径。

我尝试了不同的方法,但无法做到。

var virtualFilePath = exportFile.Replace(Server.MapPath("~"), "~/");
return Json(virtualFilePath, JsonRequestBehavior.AllowGet);

这是从控制器返回到 jquery ajax 调用的 var virtualFilePath 中的值。从那里我将它绑定到 <a> href 标签: ManualMeterDocuments\Client\Exports\client_0985-20160318-215243.xlsx

所以该路径没问题,但是以某种方式将 ManualMeters/ 添加到链接中。

编辑:这是我应该能够放入 href 属性以使下载工作的内容: 测试

【问题讨论】:

标签: c# asp.net-mvc


【解决方案1】:

这修复了它:..\

 var virtualFilePath = Path.Combine(@"..\" + exportFile.Replace(Server.MapPath("~"), ""));

返回:

http://localhost:60000/ManualMeterDocuments/Client_0985/Exports/client_0985-20160318-224049.xlsx

为什么bs要结束这个问题?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 2020-10-31
    • 2012-04-09
    • 2022-12-21
    相关资源
    最近更新 更多