我在为文件创建正确的下载链接时遇到问题。
这是预期和工作结果(正确路径):http://localhost:60000/ManualMeterDocuments/client/Exports/client_0985-20160318-211554.xlsx
但这就是MVC所做的:http://localhost:60000/ManualMeters/~/ManualMeterDocuments/client/Exports/client_0985-20160318-211554.xlsx
手动仪表/=>控制器。
在我的控制器操作中,我得到了物理路径:C:\数据\测试\源\门户\门户\手册计量文档\客户端\导出\Client_0985-20160318-214256.xlsx并尝试返回相对路径。
我尝试过不同的东西,但做不好。
var virtualFilePath = exportFile.Replace(Server.MapPath("~"), "~/");
return Json(virtualFilePath, JsonRequestBehavior.AllowGet);
这是从控制器返回给 jquery ajax 调用的 var virtualFilePath 中的值。从那里我将其绑定到一个<a>
href 标签: 手册计量文档\客户端\导出\client_0985-20160318-215243.xlsx
所以这条路径是可以的,但不知何故,手动仪表/被添加到链接中。
编辑:这是我应该能够放入href属性以使下载正常工作的内容: 测试
这修复了它:..\
var virtualFilePath = Path.Combine(@".." + exportFile.Replace(Server.MapPath("~"), ""));
返回:
http://localhost:60000/ManualMeterDocuments/Client_0985/Exports/client_0985-20160318-224049.xlsx
为什么bs要关闭这个问题?