You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何截取文件路径字符串获取文件名?jQuery处理fakePath遇问题

获取的文件名(解决fakePath分割失败问题)

嘿,这个问题我太熟悉了!你遇到的核心问题是JavaScript里的反斜杠是转义字符——直接写split('\')的话,实际传递给split的是一个空的转义后字符,根本没法正确分割路径。给你几个实用的解决方案:

方法1:修正split的转义写法

把反斜杠转义成双反斜杠,让JavaScript识别出这是一个真实的反斜杠分隔符:

// 获取input的value(即带fakePath的路径)
const filePath = $('input[type="file"]').val();
// 按反斜杠分割数组,取最后一个元素就是文件名
const fileName = filePath.split('\\').pop();

方法2:兼容多路径分隔符(更通用)

有些浏览器可能返回正斜杠格式的路径,用正则表达式同时匹配反斜杠和正斜杠,适配所有情况:

const filePath = $('input[type="file"]').val();
// 用正则匹配两种斜杠,分割后取最后一项
const fileName = filePath.split(/[\\/]/).pop();

方法3:最推荐的File API方案(避开fakePath)

浏览器为了安全隐藏了真实路径,但我们完全不用处理这个fakePath——直接通过files属性获取File对象,它自带name属性就是文件名:

// 获取input DOM元素,再取files数组的第一个文件
const file = $('input[type="file"]')[0].files[0];
if (file) {
  const fileName = file.name;
  console.log('文件名:', fileName);
}

这个方法最可靠,完全不用纠结路径格式,还能顺便拿到文件大小、类型等其他信息。

内容的提问来源于stack exchange,提问作者asqwe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:11:57