jquery在不同浏览器获取文件路径出现问题!

本文探讨了在使用jQuery获取文件上传路径时遇到的问题,在Chrome浏览器中返回的是带有C:fakepath前缀的路径。文中提供了一种通过正则表达式去除此前缀的方法,并讨论了如何根据不同浏览器特性进行兼容性处理。

<input type="file" name="file" id="file1" src=""/>

<input type="button" id="btn" value="上传" />

 

然后jquery如下:

$(function(){
$("#btn").click(function(){
   alert( $('#file1').val() );
  })
})

想要获得上传文件的路径,用IE打开可以成功显示,但用chrome打开时显示C:\fakepath\文件名

只好改写代码,将不同浏览器分别判断:

$(function(){
$("#btn").click(function(){
if($.browser.msie){
   alert("IE"+$.browser.version);
   alert( $('#file1').val() );
 }
if($.browser.webkit){
    var filename = $('#file1').val().replace(/C:\\fakepath\\/i, '');    

   //或者var filename = $('#file1').val().split('\\').pop();

    alert("chrome"+$.browser.version);

    alert(filename);
  }
})
})

在chrome下实现了将C:\fakepath\去掉 但只能显示出文件名 不能显示完整的绝对路径

搜了很多文章 还是没有好的解决办法 希望会的朋友能指点一下 谢啦!

 

转载于:https://www.cnblogs.com/soccer/p/3524988.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值