FileReader实现图片预览,并上传(js代码)
var rFilter = /^(image/bmp|image/gif|image/jpeg|image/png|image/tiff)$/i; //控制格式
var iMaxFilesize = 2097152; //控制大小2M
function preview(file) {
var reader = new FileReader();
if (!rFilter.test(file.type)) {
alert("文件格式必须为图片");
return;
}
if (file.size > iMaxFilesize) {
alert("图片大小不能超过2M");
return;
}
reader.onload = function(e) {
//图片的base64格式,可以直接当成img的src属性
var $img = $('<img>').attr("src", e.target.result);
$(".preview").append($img);
//使用FormData
的最大优点就是我们可以异步上传一个二进制文件,在此用来上传图片
var formdata = new FormData();//创建一个formdata对象
//通过append(key, value)来添加数据,如果指定的key不存在则会新增一条数据,如果key存在,则添加到数据的末尾具体可看https://segmentfault.com/a/1190000006716454
});
};
reader.readAsDataURL(file);
}
$('[type=file]').change(function(e) {
var file = e.target.files[0];
preview(file);
});