怎么用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组件上传文件怎么解决编码问题?
ajaxfileupload.js上传文件时后台用java怎么接收文件流