Answers:
var filename = $('input[type=file]').val().split('\\').pop();
或者您也可以这样做(因为C:\fakepath
出于安全原因,总是添加该代码):
var filename = $('input[type=file]').val().replace(/C:\\fakepath\\/i, '')
Fakepath
一个大写F?
您只需要执行以下代码。第一个[0]用于访问HTML元素,第二个[0]用于访问文件上传的第一个文件(在没有文件的情况下,我进行了验证):
var filename = $('input[type=file]')[0].files.length ? ('input[type=file]')[0].files[0].name : "";
这是我的操作方法,效果很好。
在HTML中执行以下操作:
<input type="file" name="Att_AttributeID" onchange="fileSelect(event)" class="inputField" />
然后在您的js文件中创建一个简单的函数:
function fileSelect(id, e){
console.log(e.target.files[0].name);
}
如果您要处理多个文件,则还应该可以通过遍历以下内容来获取列表:
e.target.files[0].name
从控件中获取第一个文件,然后获取文件名,它将忽略Chrome上的文件路径,也将更正IE浏览器的路径。保存文件时,必须使用System.io.Path.GetFileName
方法仅针对IE浏览器获取文件名
var fileUpload = $("#ContentPlaceHolder1_FileUpload_mediaFile").get(0);
var files = fileUpload.files;
var mediafilename = "";
for (var i = 0; i < files.length; i++) {
mediafilename = files[i].name;
}
<script type="text/javascript">
$('#upload').on('change',function(){
// output raw value of file input
$('#filename').html($(this).val().replace(/.*(\/|\\)/, ''));
// or, manipulate it further with regex etc.
var filename = $(this).val().replace(/.*(\/|\\)/, '');
// .. do your magic
$('#filename').html(filename);
});
</script>
var filename=location.href.substr(location.href.lastIndexOf("/")+1);
alert(filename);
这种选择似乎是最合适的。
$('input[type="file"]').change(function(e){
var fileName = e.target.files[0].name;
alert('The file "' + fileName + '" has been selected.');
});
在这里您可以像这样调用,这是我的输入文件控件
<input type="file" title="search image" id="file" name="file" onchange="show(this)" />
现在这是我的Jquery,一旦您选择文件就会被调用
<script type="text/javascript">
function show(input) {
var fileName = input.files[0].name;
alert('The file "' + fileName + '" has been selected.');
}
</script>
我们也可以使用 match
var fileName = $('input:file').val().match(/[^\\/]*$/)[0];
$('#file-name').val(fileName);
C:\fakepath\
以便恶意站点无法使用javascript来收集有关计算机目录结构的信息。