Autor Zpráva
liborse
Profil
Zdravím vespolek,

už hledám pár hodin, ale zatím se mi nepovedlo nalézt jednoduché řešení mého problému. Na svém projektu mám delší formulář na přidávání výletů, jeho součástí je i 6 inputů, přes které lze nahrát příslušný počet obrázků, které se na serveru zmenší. Ano, není to ideální, ale je to jen pro neregistrované uživatele, časem to chci vylepšil v rámci volného času. No a nyní k problému - jelikož uživatelé rádi nahrávají i desetimegové soubory, rozhodl jsem se pro zmenšování obrázků na klientské straně s využítím HTML5. Pro prohlížeče nepodporující danou funkcionalitu by zobrazily jen původní inputy a obrázek by se prostě zmenšil až na serveru. Zkoušel jsem to pomocí FileReader a canvasu, nicméně nikdy jsem se nedostal ke kýženému výsledku - po odeslání formuláře byla vždy plná velikost (resp. obrázek byl zmenšen až na serveru). Povedlo se mi i udělat malinký náhled přímo ve formuláři, ale to nepotřebuji, já potřebuji ten malý obrázek odeslat přes klasický běžný input, abych nemusel měnit dosavadní skripty. Vždy hledám maximálně jednoduchá řešení a ideálně si píši kód sám, zde jsem už ale opravdu v koncích. ;) Podotýkám, že odesílání přes ajax zatím *nechci*, plupload jsem zkoušel.

Díky za každou pomoc a prosím pokud nevíte, nepište, děkuji za pochopení. ;) Hledám řešení a ne poznámky typu "nejde to", "udělej to jinak", "jsi lama" apod., tyto příspěvky ignoruji. Tedy mě takto nikdy nikdo neodpověděl, ale sleduji to v různých tématech na různých fórech a za to bych vždy dal facku s prominutím. ;) Pak hledám nějaké řešení a všude je hláška typu "hledej šmudlo". A já hledám. ;)

Libor
Davex
Profil
Mělo by to jít s použitím HTML5 Canvas a FileAPI. Zmenšený obrázek se pak může uložit do skrytého pole formuláře, jak to dělá třeba Josef Richter.
liborse
Profil
Díky moc, mrknu na to.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0