如何从文件路径获取文件名,文件可以从不同的 OSX 或 Windows 上传。
正在努力实现的目标和挑战如下:
- 我的目标是清理文件名,如果它有任何非法字符。示例:OSX 允许
\
和一些其他 Windows 文件系统不允许的字符。alg 替换\
为_
. - 有时某些浏览器(IE)将整个路径作为文件名发送到我的代码。因此,如果我在 Windows 中从网络上传共享文件,IE 会将名称发送为
\\\\servername\\folder\\filenmae.txt
- 我不能使用 fileinfo 或 path,因为来自 OSX 的文件名可能包含非法字符,例如|
, >
,<
并且因为如果 Mac OSX 中的文件名是\\path\ex\file
, fileinfo 或 path 给我“文件”作为文件名而不是全名.
-- 现在,如果文件名在路径中有 :\,我可以很容易地使用
filename.Substring(filename.LastIndexOf(@"\") + 1)
-- 但我的问题是共享文件,因为 Windows 中的共享文件完整路径模式可以是 OSX 中的文件名。
我怎样才能得到全名?
任何建议,将不胜感激。