我有這個路徑,它保存了基於日期和時間的Excel工作表。 它顯示 System.NotSupportedException
System.NotSupportedException發生
什麼是正確的格式?
string strpath = Server.MapPath("~/SavedFolder/"+ username+ "/"+DateTime.Now+".xlsx/");
我有這個路徑,它保存了基於日期和時間的Excel工作表。 它顯示 System.NotSupportedException
System.NotSupportedException發生
什麼是正確的格式?
string strpath = Server.MapPath("~/SavedFolder/"+ username+ "/"+DateTime.Now+".xlsx/");
您的問題(去掉最後的斜槓後)由DateTime.Now的使用您的區域設置字符串轉換造成的。這會產生這樣的
h:\temp\08/06/2016 09:19:42.txt
一個字符串,這個字符串包含無效字符,你可以看到調用Path.GetInvalidFileNameChars
(斜線,反斜線被混淆爲一個文件夾名稱的一部分,而結腸根本就不是一個有效的字符文件)
您可以使用NET的格式化功能,以這種方式準備的文件名
filename= DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss");
string strpath = Server.MapPath("~/SavedFolder/"+ username+ "/"+ filename + ".xlsx");
通常,當我需要標記有日期時間部分我的文件,我把日期部分的年,月,日,小時,英里的順序nute,其次是獲取一個簡單的方法來查看它們在支持按名稱排序的任何文件資源管理器中排序。
檢查DateTime.Now.ToString()(它被稱爲在這種情況下)的輸出,它似乎包含這是不允許的文件名的路徑中的字符。
string strpath = Server.MapPath("~/SavedFolder/"+ username+ "/"+DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss") +".xlsx");
如果不是拼寫錯誤,它可能是DateTime.Now自動轉換爲產生無效名稱的字符串。傳遞給MapPath的字符串的最終值是什麼?例如,冒號,斜槓和反斜槓在文件名中無效。 – Steve
嘗試使用'DateTime.Now.ToString(「M-d-yyyy」)' –
我需要創建一個基於datetime的xlsx文件,該文件夾的路徑是Server.MapPath(「〜/ SavedFolder /」+ username); –