2011-08-11 60 views
1

我如何转换的完整路径从完整的文件路径,仅显示文件名

C:\some folder\another folder\my-picture.jpg 

要:

my-picture.jpg 

预先感谢您。

+0

是否只需要在Windows路径工作? – recursive

+0

是的,因为只有IE显示C:\ fakepath \ –

+0

'C:\ fakepath \'也是一个windows路径。所有浏览器都能够显示它。它们也能够显示其他类型的路径,如'/ etc/profile'。 – recursive

回答

2

你可以从最后的\(也适用于裸露的"file.ext")读取;

var fn = "C:\\some folder\\another folder\\my-picture.jpg"; 
alert(fn.substr(fn.lastIndexOf("\\") + 1)); 
+0

这比'拆分'方法IMO –

+0

@ Xeon06更好,使用10,000次循环运行并且分离速度慢了1ms。我认为这种方法并不能提高性能。 – epascarello

+0

@epascarello我认为在更大的范围内会产生影响。 IE,你有一大堆路径,每个路径都有很多目录。但对于正常的每一天查询,你可能是正确的。 –

1
var str = "C:\\some folder\\another folder\\my-picture.jpg"; 
var fileName = str.split("\\").pop(); 

,如果你需要处理不同的操作系统文件路径

var str = "C:\\some folder\\another folder\\my-picture.jpg"; 
var fileName = str.split(/[\\\/]/).pop(); 
相关问题