当用户在网页中选择文件时,我希望能够仅提取文件名。
我确实尝试过 str.search 函数,但是当文件名是这样的时它似乎失败了:c:\uploads\ilike.this.file.jpg。
我们如何只提取没有扩展名的文件名?
当用户在网页中选择文件时,我希望能够仅提取文件名。
我确实尝试过 str.search 函数,但是当文件名是这样的时它似乎失败了:c:\uploads\ilike.this.file.jpg。
我们如何只提取没有扩展名的文件名?
要拆分字符串 ({filepath}/{filename}) 并获取文件名,您可以使用以下内容:
str.split(/(\\|\/)/g).pop()
“pop 方法从数组中删除最后一个元素并将该值返回给调用者。”
Mozilla 开发者网络
例子:
从: "/home/user/file.txt".split(/(\\|\/)/g).pop()
你得到: "file.txt"
假设你的<input type="file" >有一个 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);
}
现在有一个更简单的方法:
var fileInput = document.getElementById('upload');
var filename = fileInput.files[0].name;
很简单的
let file = $("#fileupload")[0].files[0];
file.name
假设:
<input type="file" name="file1" id="theFile">
JavaScript 将是:
var fileName = document.getElementById('theFile').files[0].name;