之前没有接触过layui, 这次项目中尝试了一下,巨坑。而且 现在 react、vue大行其道,心得:作为程序员应该尝试流行的技术
upload.render({
elem: '#layuiadmin-upload-list'
, url: '/books/uploadImg'
, accept: 'images'
, field: 'file'//后台接收参数名
,data: {
//原路径 带参过去删除
cover_img_big_old: $("#cover_img_big").val(),
cover_img_old:$("#avatar").val()
}
, acceptMime: 'image/*'
, auto: false
, before: function(obj) {
layer.load();
}
,choose: function(obj){ //上传前选择回调方法
var flag = true;
obj.preview(function(index, file, result){
console.log(file); //file表示文件信息,result表示文件src地址
var img = new Image();
img.src = result;
img.onload = function () { //初始化夹在完成后获取上传图片宽高,判断限制上传图片的大小。
if(img.width ==600 && img.height ==800){
obj.upload(index, file); //满足条件调用上传方法
}else{
flag = false;
layer.msg("您上传的小图大小必须是600*800尺寸!");
return false;
}
}
return flag;
});
}
, done: function (res) {
layer.closeAll('loading');
$("#cover_img_big").val(res.data.cover_img)
$("#avatar").val(res.data.cover_img)
$("#showImg").show()
}
});
img = request.files['file']
if img and allowed_file(img.filename):
imgfs = gridfs.GridFS(mydb)
fname = secure_filename(img.filename)
f = cv2.imdecode(np.fromstring(img.read(),"uint8"), 1)
w, h, c = f.shape
if w/h > 2 or w/h < 1/2:
# 做拦截