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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Modgift.Umbraco.ImageUpload" Version="1.1.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Modgift.Umbraco.ImageUpload" Version="1.1.1" />
                    
Directory.Packages.props
<PackageReference Include="Modgift.Umbraco.ImageUpload" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Modgift.Umbraco.ImageUpload --version 1.1.1
                    
#r "nuget: Modgift.Umbraco.ImageUpload, 1.1.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Modgift.Umbraco.ImageUpload@1.1.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Modgift.Umbraco.ImageUpload&version=1.1.1
                    
Install as a Cake Addin
#tool nuget:?package=Modgift.Umbraco.ImageUpload&version=1.1.1
                    
Install as a Cake Tool

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

  1. Go to Settings → Modgift → Process Images in the backoffice.
  2. 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).
  3. The dashboard counts how many images will be processed.
  4. Click Process N images and confirm the prompt.
  5. A progress bar tracks each image as it is processed. A notification is shown when complete.

Behaviour

  • Resizing is applied if Enabled is true and the image exceeds MaxDimension.
  • EXIF properties are only written if MetaDataEnabled is true and the property on the media item is currently empty — manually entered values are never overwritten.
  • IPTC properties follow the same rule: only written if IptcEnabled is true and 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 MaxDimension on 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.1 131 3/21/2026
1.1.0 116 3/12/2026
1.0.1 114 3/11/2026
1.0.0 111 3/9/2026