怎样 在js中获取input file
展开全部
javascript 获取文件域 (type=file) 的完整路径一直是很麻烦的问题,问题主要出在一些浏览器基于安全性考虑而不能正常获取到文件域中选中图片的决对路径,尤其一些基于webkit的浏览器比如 Chrome, Safire等浏览器,下面是一个可以兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法,该方法不支持 Chrome 和 Safire,要支持这些浏览器可能要使用到 Flash ,对程序员来说比较麻烦。
HTML页面:
<input type="file" name="attachment" id="attachment" />
<input type="text" name="trueattachment" id="trueattachment" />js部分:
<script type="text/javascript">
var attachment=document.getElementById("attachment");
var trueattachment=document.getElementById("trueattachment");
attachment.onchange=function(){
trueattachment.value=getFullPath(this);
}
function getFullPath(obj){
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;
}
}
</script>
HTML页面:
<input type="file" name="attachment" id="attachment" />
<input type="text" name="trueattachment" id="trueattachment" />js部分:
<script type="text/javascript">
var attachment=document.getElementById("attachment");
var trueattachment=document.getElementById("trueattachment");
attachment.onchange=function(){
trueattachment.value=getFullPath(this);
}
function getFullPath(obj){
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;
}
}
</script>
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询