Javascript - 如何从文件输入控件中提取文件名

2022-08-30 02:44:22

当用户在网页中选择文件时,我希望能够仅提取文件名。

我确实尝试过str.search功能,但是当文件名是这样的时,它似乎失败了:c:\uploads\ilike.this.file.jpg

我们如何只提取没有扩展名的文件名?


答案 1

要拆分字符串({filepath}/{filename})并获取文件名,您可以使用如下内容:

str.split(/(\\|\/)/g).pop()

“pop 方法从数组中删除最后一个元素,并将该值返回给调用方。
Mozilla 开发者网络

例:

从:"/home/user/file.txt".split(/(\\|\/)/g).pop()

你得到:"file.txt"


答案 2

假设您的<输入类型=“文件”>有一个上传的ID,这应该有望解决问题:

var fullPath = document.getElementById('upload').value;
if (fullPath) {
    var startIndex = (fullPath.indexOf('\\') >= 0 ? fullPath.lastIndexOf('\\') : fullPath.lastIndexOf('/'));
    var filename = fullPath.substring(startIndex);
    if (filename.indexOf('\\') === 0 || filename.indexOf('/') === 0) {
        filename = filename.substring(1);
    }
    alert(filename);
}