用网上人家的代码:
function getFullPath(obj)
{ alert(obj.value);
if(obj)
{
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.selection.createRange().text;
}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1)
{ if(obj.files)
{
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
} 结果发现firefox里运行不行, 接收不到值,单独测了一下
alert(obj.files.item(0).getAsDataURL());
也是接收不到值 的
请问怎么解决,还有什么其它办法呢
function getFullPath(obj)
{ alert(obj.value);
if(obj)
{
//ie
if (window.navigator.userAgent.indexOf("MSIE")>=1)
{
obj.select();
return document.selection.createRange().text;
}
//firefox
else if(window.navigator.userAgent.indexOf("Firefox")>=1)
{ if(obj.files)
{
return obj.files.item(0).getAsDataURL();
}
return obj.value;
}
return obj.value;
}
} 结果发现firefox里运行不行, 接收不到值,单独测了一下
alert(obj.files.item(0).getAsDataURL());
也是接收不到值 的
请问怎么解决,还有什么其它办法呢
1.在区分IE和FireFox的时候,不要用检测浏览器的方式,这样代码量太大,也不好用,因为浏览器版本会不断出现,你的代码也会不断增加,用if去判断浏览器的能力就可以了,比如:if (window.event) IE else Firefox
2.要获取整个file的完整路径,可以直接用JS提供的localtion.href,就可以了,这个是通用的。
用obj.value,firefox得到的一直都只是文件名,ie等得到的是本地完整路径
该怎么弄呢?难道 firefox得不到全路径的,就要手动输入吗?
求解答
<input type="file" name="file">
<input type="file" name="file">
<input type="submit">