2013-10-04 116 views
1

我想啓動一個excel文件但出現錯誤,我錯過了什麼?路徑錯誤中的非法字符

我嘗試推出一個Excel文件,但得到:

路徑非法字符

控制器動作:

public ActionResult ExportData(DateTime Date) 
    { 

     return File("~\\Reports\\ExcelExport.xlsm?Date=" + Date, "application/vnd.ms-excel" , Server.UrlEncode("~\\Reports\\ExcelExport.xlsm?Date=" + Date)); 

    } 

的JavaScript:

function ExportToExcel() { 

    var link = '/Report/ExportData'; 
    var Date= $("#Date").val(); 
    $.ajax({ 
     url: link, 
     contentType: 'application/json; charset=utf-8', 
     data: { Date: Date}, 
     success: function (result) {     
     }, 
     error: function (result) { 

     } 
    }); 

}; 
+0

發生錯誤,瀏覽器或服務器日誌在哪裏?我會檢查Date變量的格式,因爲它可能包含冒號或其他字符,不能很好地轉換成Windows文件系統 – providencemac

+0

@providencemac它返回到我的javaScript函數 – user793468

回答

2

你傳遞一個混合URL /物理文件路徑。嘗試這樣的事情來獲得物理文件路徑,如果它在磁盤上:

string filePath = Server.MapPath(Url.Content("~/Reports/ExcelExport.xlsm")); 
4

你包括日期時間參數在路徑字符串值。這看起來像這樣:10/4/2013 5:00:17 PM。 /在Windows路徑中都是無效字符。