怎么用js来获取 fileupload中的上传文件的文件名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么用js来获取 fileupload中的上传文件的文件名相关的知识,希望对你有一定的参考价值。

//fileupload对象是文本框类标签出现时候就会被创建出来
//获取上传文件的文件名其实就是获取文本框type为file中的value,虽然这个value一般来说是只读
//下面贴代码
<!DOCTYPE <html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
<span>文件名:</span><input type="file" />
<script type="text/javascript" src="

<script type="text/javascript">
!function($)
var reg = /^(\\w)(:)(\\\\\\w+)*\\\\(\\w+.[a-zA-Z]+)*(\\w+)*$/g;
$('input').on('change', function()
var name = $('input').val();
// name = name.match(reg);
name = name.replace(reg,"$4");
alert(name);
)
(jQuery)
</script>
</body>
</html>

//测试结果

参考技术A 看你是什么情况了。

如果是在firefox上,input(type=file)默认获取到的value值就是文件名。
要是在IE上,input(type=file)默认获取到的value值是路径。
因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。
你可以试下一下
function getFileName(path)
var pos1 = path.lastIndexOf('/');
var pos2 = path.lastIndexOf('\\');
var pos = Math.max(pos1, pos2)
return path;elsereturn path.substring(pos+1);
测试过了,没有问题,可用。
参考技术B 在firefox上,input(type=file)默认获取到的value值就是文件名。

在IE上,input(type=file)默认获取到的value值是路径。

因此用js来获取fileupload中的上传文件的文件名需要多方面考虑。

你可以试下一下

function getFileName(path)
var pos1 = path.lastIndexOf('/');
var pos2 = path.lastIndexOf('\\');
var pos = Math.max(pos1, pos2)
if( pos<0 )
return path;
else
return path.substring(pos+1);
参考技术C <input type="file" id="file" name="file"/> file对应的是 id="file"

var file = document.getElementById("file").value; 
var fileName = file.substring(file.lastIndexOf('\\\\')+1,file.lastIndexOf('.'));
alert("fileName");

参考技术D document.getElementById("id").value;

以上是关于怎么用js来获取 fileupload中的上传文件的文件名的主要内容,如果未能解决你的问题,请参考以下文章

用fileupload上传图片,怎么获取上传后图片的相对路径

使用apache的fileupload组件上传文件怎么解决编码问题?

bootstrap-fileupload 怎么多文件上传

ajaxfileupload.js上传文件时后台用java怎么接收文件流

ajaxfileupload.js上传文件时后台用java怎么接收文件流

fileupload组件的有关问题