input file 在js里获取文件内容

百度了都是js获取路径。。。几个问题,inputfile控件选择了文件后是否已经将文件保存到客户端浏览器?如何在js中获取文件内容?需求是,我点击上传文件控件的按钮,打开... 百度了都是js获取路径。。。
几个问题,input file控件选择了文件后是否已经将文件保存到客户端浏览器?如何在js中获取文件内容?
需求是,我点击上传文件控件的按钮,打开文件后,能够直接将文件内容显示到下面一个div中。
这个功能是否一定要经过后台处理?
展开
 我来答
xiii130
推荐于2016-11-24 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部
input file在选择完文件之后,他的值就是这个文件在你机器上的路径

js本身是不能去读取这个文件的内容的,比如获取图片大小,类型之类

你说的功能是属于ajax上传文件,服务器完成上传后返回文件的信息(或者内容),然后再在html上加载出来

这个功能一定要后台来完成


上传一个文本文件,input file获取本机路径,上传至服务器,服务器读取文本内容返回文本内容,在html上打印出来
青鸟中关村专家
推荐于2016-06-21 · 知道合伙人软件行家
青鸟中关村专家
知道合伙人软件行家
采纳数:1734 获赞数:8440
就职于北大青鸟中关村,自2004年踏入北大青鸟这个行业,已经有11年工作经验和8年的培训经验,寓教于乐

向TA提问 私信TA
展开全部

    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>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式