需要注意的是,由于安全方面的考虑,浏览器不允许JavaScript获取文件的实际路径,因此获取文件名可以通过以下操作实现:
-
使用JavaScript的
string
方法:.split()
和.pop()
,把文件路径字符串分解为文件名和路径,并取出文件名部分。 -
使用HTML5的
File
API,通过file
对象的.name
属性获取文件名。
以下是两个示例:
示例一:
通过JavaScript分解文件路径获取文件名。
// HTML
<input type="file" id="fileInput">
// JS
$("#fileInput").on("change", function() {
var filePath = $(this).val(); //获取文件输入的值
var fileName = filePath.split("\\").pop(); //使用split()和pop()获得文件名
console.log("所选的文件名:" + fileName);
});
在上面的示例中,我们选取了一个文件输入,并注册了一个change
事件监听器。在事件处理程序中,通过.val()
方法获得文件输入的值,将其保存到变量filePath
中。然后,使用split()
方法将路径字符串中的反斜杠字符\
分割成多个子字符串,并使用.pop()
方法获取其中的最后一个子字符串,即文件名。最后,我们将文件名打印到控制台中。请注意,split()
和pop()
方法都是标准的JavaScript方法,不需要引入任何库。
示例二:
通过HTML5的File
API获取文件名。
// HTML
<input type="file" id="fileInput">
// JS
$("#fileInput").on("change", function() {
var file = $(this)[0].files[0]; // 获取所选文件
console.log("所选的文件名:" + file.name); // 获取文件名
});
在上面的示例中,我们同样选取了一个文件输入,并注册了一个change
事件监听器。在事件处理程序中,通过files
属性获取所选文件的File
对象,并从中取出第一个文件。然后,使用.name
属性获取文件名,并将其打印到控制台中。请注意,在访问File
对象时,我们使用了[0]
来获取具体的File
对象,因为files
是一个由File
对象组成的数组。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何使用jQuery获得所选文件名的文件输入,而不需要路径 - Python技术站