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

JavaScript027

怎么用js来获取 file中的上传文件的文件名,第1张

在firefox上,input(type=file)默认获取到的value值就是文件名。

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

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

示例代码:

<form action="" method="get" onSubmit="return false">

<input type="text" name="test" id="test">

<input type="file" name="testFile" onChange="if(this.value)insertTitle(this.value)">

<input type="submit" value="提交">

</form>

<script language="javascript">

function insertTitle(path){

var test1 = path.lastIndexOf("/") //对路径进行截取

var test2 = path.lastIndexOf("\\") //对路径进行截取

var test= Math.max(test1, test2)

if(test<0){

document.getElementById("test").value = path

}else{

document.getElementById("test").value = path.substring(test + 1)//赋值文件名

}

}

</script>

//fileupload对象是文本框类标签出现时候就会被创建出来

//获取上传文件的文件名其实就是获取文本框type为file中的value,虽然这个value一般来说是只读

//下面贴代码

<!DOCTYPE <html>

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/htmlcharset=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>

//测试结果