如何從文件路徑獲取文件名,可以從不同的OSX或Windows上載文件。
什麼想實現什麼是挑戰如下:無法從文件路徑獲取文件名
- 我的目標是清理的文件名,如果有任何非法字符。 示例:OSX允許
\
以及windows文件系統不允許的其他幾個字符。 alg用_
代替\
。 - 有時某些瀏覽器(IE)將整個路徑作爲文件名發送到我的代碼。所以,如果我從網絡中的窗戶上傳共享文件,IE發送名稱爲
\\\\servername\\folder\\filenmae.txt
- 我無法的FileInfo或路徑中使用,因爲文件名從OSX未來能有非法字符,如|
,>
, <
,因爲如果Mac OSX中文件名的名稱是\\path\ex\file
,fileinfo或路徑會給我「文件」作爲文件名而不是整個名稱。
- 現在,如果文件名有:\路徑,我可以很容易地提取使用 filename.Substring(filename.LastIndexOf(@"\") + 1)
文件名 - 但我的問題是共享文件,因爲共享的文件完整路徑模式在Windows可以是OSX中的文件名。
我怎樣才能得到全名?
任何建議,將不勝感激。
您無法知道'\\ a \ b \ c.txt'是否是Windows的完整路徑或來自* nix的異常文件名。 – SLaks
在OSX中應用於文件名的規則是什麼? –
谷歌請!,我知道:-) – din