]> 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)
committerGeorg Ehrke <developer@georgehrke.com>
Thu, 22 Jan 2015 19:21:37 +0000 (20:21 +0100)
config/config.sample.php
lib/private/preview/image.php

index 98da8aed356694f13c27adfb6ed6a8692dbc3ffa..f8cf460de3f76a4edce0033a5a2ff1f95f8ef2a0 100644 (file)
@@ -621,6 +621,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 986a44b48fd11c7b3cba5588a4dd0bee77aa5374..e8473ebb8a4121d8582e69429e8b44423068f2a0 100644 (file)
@@ -26,6 +26,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) {