input file 在js里获取文件内容

2025-05-15 09:58:58
推荐回答(2个)
回答1:

input file在选择完文件之后,他的值就是这个文件在你机器上的路径

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

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

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


上传一个文本文件,input file获取本机路径,上传至服务器,服务器读取文本内容返回文本内容,在html上打印出来

回答2:

    javascript 获取文件域 (type=file) 的完整路径一直是很麻烦的问题,问题主要出在一些浏览器基于安全性考虑而不能正常获取到文件域中选中图片的决对路径,尤其一些基于webkit的浏览器比如 Chrome, Safire等浏览器,下面是一个可以兼容 IE 6 , 7, 8 和 firefox 的获取 input file 完整路径的方法,该方法不支持 Chrome 和 Safire,要支持这些浏览器可能要使用到 Flash ,对程序员来说比较麻烦。

HTML页面:
        
        
js部分:

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;