我想在用户选择文件时获取上传的文件路径。我尝试使用更改它在所有浏览器中工作正常,但在Internet Explorer中不起作用。有没有办法做到这一点?
<input type="file">
$(document).on('click',':file',function(){
alert($(this).val());
});
答案 0 :(得分:0)
您可以使用javascript的substring
和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)
})