<meta charset="utf-8">
<title>input标签选择file直接读取本地图片并显示</title>
<body>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="image-file-visible.js"></script>
<script>
$(document).ready(function(){
//图片显示插件
$.imageFileVisible({wrapSelector: "#image-wrap",
fileSelector: "#file",
width: 100,
height: 50
});
});
</script>
<input type="file" id="file">
<div id="image-wrap"></div>
</body>
</html>
image-file-visible.js:
(function($) {
$.imageFileVisible = function(options) {
// 默认选项
var defaults = {
//包裹图片的元素
wrapSelector: null,
//<input type=file />元素
fileSelector: null ,
width : '100%',
height: 'auto',
errorMessage: "不是图片"
};
// Extend our default options with those provided.
var opts = $.extend(defaults, options);
$(opts.fileSelector).bind("change",function(){
var file = this.files[0];
var imageType = /image.*/;
if (file.type.match(imageType)) {
var reader = new FileReader();
reader.onload = function(){
var img = new Image();
img.src = reader.result;
$(img).width( opts.width);
$(img).height( opts.height);
$( opts.wrapSelector ).html(img);
};
reader.readAsDataURL(file);
}else{
alert(opts.errorMessage);
}
});
};
})(jQuery);