diff --git a/application/config/mimes.php b/application/config/mimes.php index 31a1924..e608d20 100644 --- a/application/config/mimes.php +++ b/application/config/mimes.php @@ -72,10 +72,10 @@ return array( 'ra' => 'audio/x-realaudio', 'rv' => 'video/vnd.rn-realvideo', 'wav' => array('audio/x-wav', 'audio/wave', 'audio/wav'), - 'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap'), - 'gif' => 'image/gif', - 'jpeg' => array('image/jpeg', 'image/pjpeg'), - 'jpg' => array('image/jpeg', 'image/pjpeg'), + 'bmp' => array('image/bmp', 'image/x-bmp', 'image/x-bitmap', 'image/x-xbitmap', 'image/x-win-bitmap', 'image/x-windows-bmp', 'image/ms-bmp', 'image/x-ms-bmp', 'application/bmp', 'application/x-bmp', 'application/x-win-bitmap','image/jpeg', 'image/pjpeg', 'image/png', 'image/gif'), + 'gif' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/gif', 'image/bmp', 'image/x-ms-bmp'), + 'jpeg' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/gif', 'image/bmp', 'image/x-ms-bmp'), + 'jpg' => array('image/jpeg', 'image/pjpeg', 'image/png', 'image/gif', 'image/bmp', 'image/x-ms-bmp'), 'jpe' => array('image/jpeg', 'image/pjpeg'), 'jp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'j2k' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), @@ -85,7 +85,7 @@ return array( 'jpm' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'mj2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), 'mjp2' => array('image/jp2', 'video/mj2', 'image/jpx', 'image/jpm'), - 'png' => array('image/png', 'image/x-png'), + 'png' => array('image/png', 'image/x-png', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/bmp', 'image/x-ms-bmp'), 'tiff' => 'image/tiff', 'tif' => 'image/tiff', 'css' => array('text/css', 'text/plain'), diff --git a/application/controllers/Upload.php b/application/controllers/Upload.php index af51f13..a5cf28d 100644 --- a/application/controllers/Upload.php +++ b/application/controllers/Upload.php @@ -65,6 +65,7 @@ // var_dump(); $config['upload_path'] = $upload_path; $config['allowed_types'] = 'gif|jpg|jpeg|png|bmp|webp'; + //$config['allowed_types'] = 'image/jpeg|image/png|image/gif|image/bmp|image/x-ms-bmp|image/webp'; $config['max_size'] = 5120; $config['file_ext_tolower'] = TRUE; //文件名转换为小写 $config['overwrite'] = TRUE; //覆盖同名文件 @@ -123,11 +124,16 @@ } //CI获取获取.bmp 图片的像素,认为.bmp不是图像类型,改用其它方法获取像素 - if(($data['file_type'] == 'image/x-ms-bmp') OR ($data['file_type'] == 'image/webp')){ + if( $data['file_type'] === 'image/x-ms-bmp' ){ $tmpinfo = getimagesize($full_path); $data['image_width'] = $tmpinfo[0]; $data['image_height'] = $tmpinfo[1]; } + //webp的图片暂时无法获取宽高,则设置为0 + if($data['file_type'] === 'image/webp'){ + $data['image_width'] = 0; + $data['image_height'] = 0; + } //查询图片是否上传过 if($imginfo = $this->query->repeat($imgid)){ diff --git a/application/helpers/basic_helper.php b/application/helpers/basic_helper.php index 6a4eb91..970dcd1 100644 --- a/application/helpers/basic_helper.php +++ b/application/helpers/basic_helper.php @@ -62,7 +62,9 @@ case 'image/png': case 'image/jpeg': case 'image/bmp': + case 'image/x-ms-bmp': case 'image/webp': + case 'image/svg+xml': return TRUE; break; default: diff --git a/application/libraries/Image.php b/application/libraries/Image.php index 7b0485d..e43c566 100644 --- a/application/libraries/Image.php +++ b/application/libraries/Image.php @@ -35,8 +35,8 @@ // 创建缩略图 //原图宽高大于缩略图 if(($img_w > $width) || ($img_h > $height)){ - //如果是WEBP则不裁剪 - if($mime === 'image/webp'){ + //如果是WEBP/SVG则不裁剪 + if(($mime === 'image/webp') OR ($mime === 'image/svg+xml')){ return FALSE; } //检测是否支持ImageMagick diff --git a/data/version.txt b/data/version.txt index 5c16cdf..b9aa858 100644 --- a/data/version.txt +++ b/data/version.txt @@ -1 +1 @@ -v2.22-20190427 \ No newline at end of file +v2.23-20190429 \ No newline at end of file diff --git a/static/embed.js b/static/embed.js index bc89f21..433766a 100644 --- a/static/embed.js +++ b/static/embed.js @@ -43,6 +43,7 @@ layui.use(['upload','form','element','layer','flow'], function(){ } ,accept:'file' ,acceptMime:'image/webp,image/jpeg,image/pjpeg,image/bmp,image/png,image/x-png,image/gif' + ,exts: 'jpg|jpeg|png|gif|bmp|webp' ,size:5120 ,before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。 layer.load(); //上传loading @@ -82,6 +83,9 @@ layui.use(['upload','form','element','layer','flow'], function(){ upload.render({ elem: '#multiple' ,url: '/upload/localhost' + ,accept:'file' + ,acceptMime:'image/webp,image/jpeg,image/pjpeg,image/bmp,image/png,image/x-png,image/gif' + ,exts: 'jpg|jpeg|png|gif|bmp|webp' ,multiple:true ,size:5120 ,number:5 //可同时上传数量