JavaScript中使用反斜杠分割字符串提取图片文件名
在JavaScript中提取临时URL里的图片名称
这事儿好办,给你分享几个常用的实现方式,根据你的场景选就行:
方法1:用split() + pop()
这是最直观的方式,把路径按反斜杠拆分,然后取最后一段就是文件名。
注意:JS字符串里的反斜杠需要转义成双反斜杠,不然会被当成特殊字符解析(比如\f是换页符),所以原字符串要写成'C:\\fakepath\\alfa_company.png'。
var str = 'C:\\fakepath\\alfa_company.png'; var url = str.split('\\').pop(); console.log(url); // 输出: alfa_company.png
方法2:用lastIndexOf() + slice()
找到最后一个反斜杠的位置,然后截取从这个位置之后的所有字符,同样要注意转义反斜杠:
var str = 'C:\\fakepath\\alfa_company.png'; var lastSlashIndex = str.lastIndexOf('\\'); var url = str.slice(lastSlashIndex + 1); console.log(url); // 输出: alfa_company.png
方法3:Node.js环境用path.basename()
如果你是在Node.js环境下处理,直接用内置的path模块更稳妥,它会自动处理不同操作系统的路径分隔符:
const path = require('path'); var str = 'C:\\fakepath\\alfa_company.png'; var url = path.basename(str); console.log(url); // 输出: alfa_company.png
补充说明
如果你的str是从浏览器的<input type="file">获取的路径,浏览器会自动返回C:\fakepath\xxx.png这种格式(出于安全隐藏真实路径),这时候直接用上面的方法就可以,不需要手动转义反斜杠,因为浏览器返回的字符串已经正确处理了转义。
内容的提问来源于stack exchange,提问作者Paras Raiyani
相关产品推荐
相关产品推荐

