我在为文件创建正确的下载链接时遇到问题。
这是预期的工作结果(正确路径):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 \测试\源\门户\门户\ ManualMeterDocuments \客户端\出口\ Client_0985-20160318-214256.xlsx 并尝试返回相对路径。
我尝试了不同的事情,但无法做到。
var virtualFilePath = exportFile.Replace(Server.MapPath("~"), "~/");
return Json(virtualFilePath, JsonRequestBehavior.AllowGet);
这是从控制器返回到jquery ajax调用的var virtualFilePath中的值。从那里我将它绑定到<a>
href标签:
ManualMeterDocuments \客户\进出口\ client_0985-20160318-215243.xlsx
所以路径没问题,但不知何故,某些地方会将ManualMeters /添加到链接中。
编辑:这是我应该能够放入href属性以使下载工作: 测试
答案 0 :(得分:0)
这解决了它:.. \
var virtualFilePath = Path.Combine(@"..\" + exportFile.Replace(Server.MapPath("~"), ""));
返回:
http://localhost:60000/ManualMeterDocuments/Client_0985/Exports/client_0985-20160318-224049.xlsx
为什么bs会关闭这个问题?