Modgift.Umbraco.ImageUpload
1.1.1
dotnet add package Modgift.Umbraco.ImageUpload --version 1.1.1
NuGet\Install-Package Modgift.Umbraco.ImageUpload -Version 1.1.1
<PackageReference Include="Modgift.Umbraco.ImageUpload" Version="1.1.1" />
<PackageVersion Include="Modgift.Umbraco.ImageUpload" Version="1.1.1" />
<PackageReference Include="Modgift.Umbraco.ImageUpload" />
paket add Modgift.Umbraco.ImageUpload --version 1.1.1
#r "nuget: Modgift.Umbraco.ImageUpload, 1.1.1"
#:package Modgift.Umbraco.ImageUpload@1.1.1
#addin nuget:?package=Modgift.Umbraco.ImageUpload&version=1.1.1
#tool nuget:?package=Modgift.Umbraco.ImageUpload&version=1.1.1
Modgift.Umbraco.ImageUpload
An Umbraco 17 package that automatically resizes images when they are uploaded to the media library. Images exceeding the configured maximum dimensions are resized (maintaining aspect ratio) and saved as WebP. Optionally saves EXIF and IPTC metadata from the original image to properties on the media item. Includes a backoffice dashboard for processing images that were uploaded before the package was installed.
Requirements
- Umbraco CMS 17.x
- .NET 10
Installation
Install via NuGet:
dotnet add package Modgift.Umbraco.ImageUpload
No code changes are required. The package registers itself automatically via an Umbraco composer.
Configuration
No configuration is required. The package ships with sensible defaults and all features are opt-in where applicable.
All settings are managed via the Modgift → ImageUpload panel in the Umbraco backoffice (Settings section). Changes are saved to config/modgift.json in your content root and take effect immediately.
| Setting | Default | Description |
|---|---|---|
Enabled |
false |
Set to true to enable automatic resizing on upload. |
FileTypes |
["jpeg", "jpg", "webp"] |
File extensions to process. Only images with a matching umbracoExtension value are resized. |
MaxDimension |
3840 |
Maximum allowed width or height in pixels. Images exceeding this in either dimension are scaled down proportionally. |
MetaDataEnabled |
false |
Set to true to enable EXIF metadata extraction on upload. |
IptcEnabled |
false |
Set to true to enable IPTC metadata extraction on upload. |
EXIF Metadata
When MetaDataEnabled is true, the package will:
- On first startup, automatically add the following properties to the built-in Image media type if they do not already exist (grouped under EXIF Metadata):
originalWidth,originalHeight,imageDescription,cameraBrand,cameraModel,lensModel,captureDate,exposureTime,aperture,focalLength
- On each qualifying upload, read the EXIF profile from the original image and save the values to the individual properties on the media item.
IPTC Metadata
When IptcEnabled is true, the package will:
- On first startup, automatically add the following properties to the built-in Image media type if they do not already exist (grouped under IPTC Metadata):
caption,keywords,copyrightNotice
- On each qualifying upload, read the IPTC profile from the original image and save the values to the individual properties on the media item.
Note: If the image has no IPTC profile, the fields are left empty and a log entry is written.
Process Images dashboard
The package includes a Modgift → Process Images dashboard in the Settings section for bulk-processing images that were uploaded before the package was installed or before metadata extraction was enabled.
How to use
- Go to Settings → Modgift → Process Images in the backoffice.
- Choose a scope:
- All media — processes every qualifying image in the entire media library.
- Pick folder — opens the media tree so you can target a specific folder (including all its subfolders).
- The dashboard counts how many images will be processed.
- Click Process N images and confirm the prompt.
- A progress bar tracks each image as it is processed. A notification is shown when complete.
Behaviour
- Resizing is applied if
Enabledistrueand the image exceedsMaxDimension. - EXIF properties are only written if
MetaDataEnabledistrueand the property on the media item is currently empty — manually entered values are never overwritten. - IPTC properties follow the same rule: only written if
IptcEnabledistrueand the property is empty. - Images that are already within the dimension limit and have no empty metadata properties are skipped automatically.
On-upload behaviour
- Only new uploads trigger automatic processing.
- Only media items of type Image are processed.
- If the uploaded image fits within
MaxDimensionon both axes, it is left untouched. - If either dimension exceeds the limit, the image is resized using
ResizeMode.Max(scales down proportionally to fit within the configured square). - The resized image is saved as WebP and the media item's width, height, and file size properties are updated accordingly.
- EXIF/IPTC data (when enabled) is read from the original image before any resizing occurs.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- SixLabors.ImageSharp (>= 3.1.12)
- Umbraco.Cms.Core (>= 17.1.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.