2016-03-18 149 views
2

我在創建文件的正確下載鏈接時遇到問題。從根文件夾獲取文件的相對路徑

這是預期和工作結果(正確路徑):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

「exportFile」中的值是什麼? –

+2

[從物理路徑獲取相對虛擬路徑]可能的重複(http://stackoverflow.com/questions/6081433/getting-relative-virtual-path-from-physical-path) –

+0

這是exportFile中的值:C: \ DATA \測試\源\門戶\門戶\ ManualMeterDocuments \客戶端\出口\ Client_0985-20160318-214256.xlsx – PitAttack76

回答

0

這個固定:.. \

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

返回:

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

爲什麼b要關閉這個問題?