网站地图    收藏   

主页 > 前端 > javascript >

html5本地预览上传图片readfile函数详解

来源:未知    时间:2016-01-27 09:42 作者:xxadmin 阅读:

[导读] 在过去HTML4时代,本地是没有办法直接读取file表单里面的文件的,当然不排除部分浏览器如IE有自带的工作。 然而在HTML5时代这种功能已经实现了,利用HTML5的readfile对象就可以轻松的把...

在过去HTML4时代,本地是没有办法直接读取file表单里面的文件的,当然不排除部分浏览器如IE有自带的工作。

然而在HTML5时代这种功能已经实现了,利用HTML5的readfile对象就可以轻松的把文件转换为base64,然后指向给img标签去解析,

格式如下:

<img src="data:image/jpeg;base64,/9j/4QqsRX..." alt="">

下面为大家提供完整的代码实列:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>简单的html5 File测试 for pic2base64</title> 
<style> 
</style> 
<script> 
window.onload = function(){ 
var input = document.getElementById("demo_input"); 
var result= document.getElementById("result"); 
var img_area = document.getElementById("img_area"); 
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=""/>'; 
img_area.innerHTML = '<div class="sitetip">图片img标签展示:</div><img src="'+this.result+'" alt=""/>'; 
} 
} 
</script> 
</head> 
<body> 
<input type="file" value="sdgsdg" id="demo_input" /> 
<textarea id="result" rows=30 cols=300></textarea> 
<p id="img_area"></p> 
</body> 
</html>


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论