无极低码 :https://wheart.cn
调用效果如图

一行代码实现头像上传,图片大小、尺寸,类型验证
html调用
<img src="这里放默认头像" id="preview" onclick="uploader.fileInput.click()"/>
js调用
var uploader = new ImageUploader({
accept: ['jpg', 'png', 'gif'],
maxSize: 1,
maxWidth: 800,
maxHeight: 1000,
uploadUrl: 'upload',
success: function(url) {
//上传成功回调
}
});
以下是插件代码
图片上传插件
function ImageUploader(options) {
this.options = options || {}; // 参数配置
this.fileInput = null; // 文件输入框
this.previewImage = null; // 预览图片
this.uploadUrl = options.uploadUrl || '/upload'; // 上传接口地址(默认值为'/upload')
// 初始化
this.init();
}
// 初始化方法
ImageUploader.prototype.init = function() {
var that = this;
// 创建文件输入框
this.createFileInput();
// 监听文件选择事件
this.fileInput.addEventListener('change', function(event) {
var file = event.target.files[0];
// 判断图片类型
if (that.options.accept && !that.checkFileType(file)) {
alert('只能上传 ' + that.options.accept.join(',') + ' 类型的图片');
return;
}
// 判断图片大小
if (that.options.maxSize && file.size > that.options.maxSize * 1024 * 1024) {
alert('图片大小不能超过 ' + that.options.maxSize + 'MB');
return;
}
// 验证图片尺寸
var reader = new FileReader();
reader.onload = function() {
var img = new Image();
img.onload = function() {
if (that.options.maxWidth && img.width > that.options.maxWidth) {
alert('图片宽度不能超过 ' + that.options.maxWidth + '像素');
return;
}
if (that.options.maxHeight && img.height > that.options.maxHeight) {
alert('图片高度不能超过 ' + that.options.maxHeight + '像素');
return;
}
that.uploadFile(file);
};
img.src = reader.result;
};
reader.readAsDataURL(file);
});
};
// 创建文件输入框
ImageUploader.prototype.createFileInput = function() {
var input = document.createElement('input');
input.type = 'file';
input.style.display = 'none';
if (this.options.accept) {
input.accept = this.options.accept.join(',');
}
document.body.appendChild(input);
this.fileInput = input;
};
// 检查文件类型是否符合要求
ImageUploader.prototype.checkFileType = function(file) {
var fileType = file.type;
if (!fileType) {
return false;
}
fileType = fileType.split('/').pop();
return this.options.accept.indexOf(fileType) !== -1;
};
// 执行上传操作
ImageUploader.prototype.uploadFile = function(file) {
var that = this;
var xhr = new XMLHttpRequest();
xhr.open('POST', this.uploadUrl, true);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
var formData = new FormData();
formData.append('file', file);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200 || xhr.status === 201) {
var responseText = JSON.parse(xhr.responseText);
if (responseText.errno === 0) {
that.showUploaded(responseText.data.url);
} else {
alert(responseText.msg);
}
} else {
alert('上传失败,请稍后再试!');
}
}
};
xhr.send(formData);
};
无极低码 :https://wheart.cn
-
2024-10-12 08:59:22.0
可视化,大数据,gis
-
2024-08-29 08:44:47.0
GIS,leafletjs,js,地图,可视化,百度,高德
-
2024-08-26 11:41:05.0
三维,模型,glft,无极低码
-
2024-04-20 08:51:41.0
echart,js,可视化,前端,流动关系图
-
2024-04-04 13:09:31.0
编程,程序,js,教程,程序员,入门教程
-
2024-02-17 21:55:21.0
layui,前端,js,cascader
-
2023-11-26 22:38:27.0
layui,js,前端,树,字典
-
2023-07-28 23:56:45.0
gis,前端,可视化,风场,洋流,天气
-
2023-07-16 15:42:34.0
JavaScript,入门教程表单处理swiper
-
2023-07-05 22:52:01.0
js,javascript,正则表达式,form表单验证
-
2023-07-03 18:03:43.0
原型设计,可视化,axure模板,产品设计
-
2023-07-02 22:43:01.0
mdui,分页,html,js
-
2023-07-01 10:59:29.0
layui,前端,js
-
2023-06-29 21:55:58.0
项目计划,里程碑计划,工期计算,项目工时估算
-
2023-05-28 19:55:56.0
可视化,GIS,大数据,热力图,动态地图,三维,百度地图特效,高德地图,地图动画
-
2023-05-14 18:08:23.0
大屏,gis,前端,可视化,免费
-
2023-05-07 15:22:23.0
语音合成,前端,JavaScript,html
-
2023-05-07 14:58:59.0
js,html,JavaScript,vue
-
2023-04-27 21:10:07.0
JavaScript,图片上传
-
2023-04-26 13:17:56.0
html,Javascript,css,面试,前端
-
2023-04-21 22:21:03.0
wangeditor,富文本,代码,highlight.js
-
2023-04-13 21:21:26.0
GIS,可视化,百度地图
-
2023-03-26 20:12:31.0
base64,js,前端,加密,解密,jquery
-
2023-03-26 18:52:41.0
JS,加密,前端,加解密
-
2023-03-22 19:45:58.0
js,前端,乱码,jquery,移动端,web,全栈
-
2022-12-15 16:45:16.0
大数据,气象数据,天气数据,历史天气,最新数据
-
2023-03-12 21:01:30.0
免费,云服务,ECS,腾讯云,云主机
-
2023-03-12 21:59:56.0
大数据,gis绘图,乡镇边界,数据可视化,地图
-
2023-01-15 16:32:02.0
可视化,大数据,大屏,图标,新冠病毒,前端,特效
-
2023-01-11 16:32:02.0
可视化,大数据,大屏,图标,新冠病毒,前端,特效
-
2022-12-15 16:45:16.0
大数据,小程序,编程,免费
-
2022-12-15 16:45:16.0
大数据,小程序,编程,免费