Zip one or multiple craft assets on the fly for frontend user to download.
This plugin requires Craft CMS 4.x.
composer require scandella/craft-squeeze
<form method="post" target="_blank">
{{ csrfInput() }}
{{ actionInput('squeeze/download') }}
<input type="hidden" name="archivename" value="archive">
<input type="checkbox" name="files[]" value="10"><!-- asset id -->
<input type="checkbox" name="files[]" value="20"><!-- asset id -->
<input type="submit" value="Download!">
</form>
To trigger download via url you can use:
/actions/squeeze/download?archivename=archive&files[]=10&files[]=20
This plugin is a clone of Olivier Bon's plugin just modified to work in Craft 4.
Icon by Yazmin Alanis from the Noun Project
This plugin is mostly a port of Bob's