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

 我来答
nanwang21
推荐于2017-09-28 · TA获得超过2943个赞
知道大有可为答主
回答量:1220
采纳率:82%
帮助的人:241万
展开全部
在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>
一骑当后
2018-06-28 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306436
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
在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);
}
测试过了,没有问题,可用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蘑菇饭资讯
推荐于2017-10-07 · TA获得超过6万个赞
知道大有可为答主
回答量:1.7万
采纳率:90%
帮助的人:1.2亿
展开全部
在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);}测试过了,没有问题,可用。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
007东风一号

2020-12-13 · TA获得超过1.1万个赞
知道大有可为答主
回答量:2.2万
采纳率:68%
帮助的人:579万
展开全部
在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>

望采纳!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小可爱美美哒Qh

2021-11-30 · TA获得超过832个赞
知道大有可为答主
回答量:1.4万
采纳率:88%
帮助的人:394万
展开全部
在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);
}
测试过了,没有问题,可用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式