Dobrý den,
o žádné knihovně, která by se dokázala takto přímo napojit na formulář, bohužel nevím. Problém je to javascriptem řešitelný, ale budete do něj muset trochu proniknout. Našel jsem několik knihoven, které by Vám mohly pomoci, případně poskytnout inspiraci, protože dělají podobnou věc:
https://www.dropzonejs.com/https://github.com/nodeca/picahttps://pqina.nl/filepond/https://xkeshi.github.io/image-compressor/Problémem zmenšování obrázků v prohlížeči se zabývá
tento článek v angličtině.
Princip skriptu, který potřebujete, bude takový, že každé souborové pole bude mít nastavenou
onchange událost (JS funkce, která se automaticky volá při změně hodnoty pole). Ta obrázek načte a vloží do tzv. canvasu (
HTML tag <canvas>). JS může s obrázkem v canvasu dělat různé úpravy, včetně změny velikosti. Takže po vložení do canvasu obrázek zmenšíte a následně si načtete jeho data do JS. Důležité je, že odeslání formuláře musí nakonec provést JS s daty zmenšených obrázků. Formulářová souborová pole v tuto chvíli již ignorujete - byla tam pouze pro onu
onchange událost. JS musí odeslat načtená data z canvasu. K tomu v JS využijete objekty FormData a XMLHttpRequest, více se o tom dočtete
zde na MDN.
Ačkoli Váš cíl není úplně triviální, věřím, že to zvládnete. Řešení podobných reálných problémů je nejlepší způsob, jak se jazyk naučit.