]> source.dussan.org Git - nextcloud-server.git/commitdiff
add config-option for an image's maximum filesize when generating previews
authorGeorg Ehrke <developer@georgehrke.com>
Sun, 18 Jan 2015 23:22:55 +0000 (00:22 +0100)
committerMorris Jobke <hey@morrisjobke.de>
Thu, 22 Jan 2015 22:23:36 +0000 (23:23 +0100)
config/config.sample.php
lib/private/preview/image.php

index 0d3085d3b95a1d348609ac436d22cdbadf7d2f98..673cede802771c413f7feba0d5b428ed1256dc76 100644 (file)
@@ -604,6 +604,18 @@ $CONFIG = array(
  * original size. A value of ``1`` or ``null`` disables scaling.
  */
 'preview_max_scale_factor' => 10,
+
+/**
+ * max file size for generating image previews with imagegd (default behaviour)
+ * If the image is bigger, it'll try other preview generators,
+ * but will most likely show the default mimetype icon
+ *
+ * Value represents the maximum filesize in megabytes
+ * Default is 50
+ * Set to -1 for no limit
+ */
+'preview_max_filesize_image' => 50,
+
 /**
  * custom path for LibreOffice/OpenOffice binary
  */
index c5f566aa946b98cee19b13bdf10f4827511e5b2b..acf7232b011acb2cb03c62556dd8e21ac0996c46 100644 (file)
@@ -21,6 +21,13 @@ class Image extends Provider {
                        return false;
                }
 
+               $maxSizeForImages = \OC::$server->getConfig()->getSystemValue('preview_max_filesize_image', 50);
+               $size = $fileInfo->getSize();
+
+               if ($maxSizeForImages !== -1 && $size > ($maxSizeForImages * 1024 * 1024)) {
+                       return false;
+               }
+
                $image = new \OC_Image();
 
                if($fileInfo['encrypted'] === true) {