k3-maxpixels-option
k3-maxpixels-option copied to clipboard
Resize images in the browser before uploading them to the server.
Resize images in the browser before uploading them to the server.
Install
- Check if you wouldn't rather use the
im
driver option, which might be able to handle large images - If not, download and copy folder into your
plugins
directory.
Use
On a files section, set the maxpixels
property.
Example
my_image_section:
type: files
maxpixels: 2000000 #two million pixels
Now, when a user tries to upload a 9000x12000 pixel image, this image will be resized to 1224x1632, which are 1'997'568 pixels.
But why?
PHP requests normally have limited resources.
Trying to resize a 9000x12000 pixels large image to 1224x1632 pixels, requires at least:
(9000 \times 12000 + 1224 \times 1632) * 4bytes \approx 440\textit{MB} \textrm{ of RAM}
If your shared hosting provider limits your max RAM per request to 256MB, you won't be able to resize the image on your server using Kirby's GD Driver.
⚠️ As an alternative: the IM driver probably is, depending on server setup, able to handle big images. You might not need this plugin.
Known issues
- On Microsoft Edge, resized images are renamed to "blob". (Both the release of Kirby 3.2 and the adoption of V8 in Edge should solve this issue).
- Files replaced from inside the File view will not be resized. (see issue #2)