我想在用户选择文件时获取上传的文件路径。我尝试使用 on change 它在所有浏览器中都可以正常工作,但在 Internet Explorer 中无法正常工作。有没有办法做到这一点?
<input type="file">
$(document).on('click',':file',function(){
alert($(this).val());
});
我想在用户选择文件时获取上传的文件路径。我尝试使用 on change 它在所有浏览器中都可以正常工作,但在 Internet Explorer 中无法正常工作。有没有办法做到这一点?
<input type="file">
$(document).on('click',':file',function(){
alert($(this).val());
});
您可以使用 javascriptsubstring
并lastIndexOf
从完整路径中提取文件名,c:\fakepath\xyz.jpg
如下所示:-
html
<form>
<input id ="input" type="file" />
<input id="smt" type="submit" />
</form>
脚本
$('#smt').click(function(e)
{
e.preventDefault();
var filename=$('#input').val().substring($('#input').val().lastIndexOf('\\') + 1)
alert(filename)
});
当用户选择任何文件时,根据注释中的要求进行编辑以获取文件名
html
<input id="input" type="file" />
<p></p>
脚本
var filename;
var t;
$('#input').click(function (e) {
$('#input').val(""); //to clear previous file name ,if any
clearInterval(t); //if any previous interval is running
t = setInterval(function () {
if ($('#input').val().length > 0) {
filename = $('#input').val().substring($('#input').val().lastIndexOf('\\') + 1);
clearInterval(t);
$('p').text("");
$('p').text("you have chosen " + filename);
}
else if ($('#input').val().length == 0) {
$('p').text("");
$('p').text("haven't chosen any file");
}
}, 500)
})