最近做了一个移动端上传并展示图片的功能,利用html5的文件读取功能,简单的记录一下.
1 2 3 4 5
   | <p>    <label>请选择一个图像文件:</label>    <input type="file" id="file_input" /> </p> <div id="result"></div>
   | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
   | var result = document.getElementById("result"); var input = document.getElementById("file_input"); if(typeof FileReader==='undefined'){     result.innerHTML = "抱歉,你的浏览器不支持 FileReader";     input.setAttribute('disabled','disabled'); }else{     input.addEventListener('change',readFile,false); } function readFile(){     var file = this.files[0];     if(!/image\/\w+/.test(file.type)){         alert("文件必须为图片!");         return false;     }     var reader = new FileReader();     reader.readAsDataURL(file);     reader.onload = function(e){         result.innerHTML = '<img src="'+this.result+'" alt=""/>' ;     } }
  | 
 
在一般的情况下,都会隐藏type=’file’的默认按钮样式,如需上传展示图片,都会通过trigger实现点击头像,触发type=’file’的click事件来实现点击头像展示区域,实现,上传头像的功能.