Jednoduché zpracování addUpload
- Arthedian
- Člen | 26
Dobrý den,
existuje někde nějaký příklad jednoduchého zpracování formuláře
s addUpload? Ze začátku nechci používat žádně pluginy a bohužel
v turorialu jsem pouze našel přidání do formuláře, ale už jsem nenašel
žádné zpracování. Budu přidávat pouze obrázky.
Níže je uvedený příklad ve formuláři, který používám.
$form->addUpload('image', 'Image of the project:')
->setRequired(true)
->addRule(Form::IMAGE, 'Image must be JPEG, PNG or GIF.')
->addRule(Form::MAX_FILE_SIZE, 'Max size of file is 4 mB.', 4 * 1024 * 1024);
- Ondřej Kubíček
- Člen | 494
když zpracováváš formulář, tak ten input ti vrátí jako
FileUpload – https://api.nette.org/…eUpload.html
takže pak můžeš jednoduše s tím pracovat, třeba:
public function processForm($form, $values)
{
$image = $values->image;
if ($image->isOk() && $image->isImage()){
//ulozeni
}
}
- Arthedian
- Člen | 26
musím kontrolovat, jestli je soubor ok a jestli je to image? nestačí
zkontrolovat jestli form správně prošel tz.
$form->onSuccess[]
? Jinak moc díky za pomoc.
Ondřej Kubíček napsal(a):
když zpracováváš formulář, tak ten input ti vrátí jako FileUpload – https://api.nette.org/…eUpload.html
takže pak můžeš jednoduše s tím pracovat, třeba:public function processForm($form, $values) { $image = $values->image; if ($image->isOk() && $image->isImage()){ //ulozeni } }
- Ondřej Kubíček
- Člen | 494
musíš, při uploadu může nastat nějaká chyba a to zjistíš při tom
zpracování
a jinak nenutil bych uživatele omezovat nahrávání jen 4 mb obrázku, když
si to na serveru můžeš sám zmenšit :)
- BuMoRi
- Člen | 109
Ondřej Kubíček napsal(a):
musíš, při uploadu může nastat nějaká chyba a to zjistíš při tom zpracování
a jinak nenutil bych uživatele omezovat nahrávání jen 4 mb obrázku, když si to na serveru můžeš sám zmenšit :)
Ahoj, můžu se zeptat jak si obrázky zmenšuješ? Chtěl bych zachovat rozměry, ale kapacitu na max 1MB.
- h4kuna
- Backer | 740
Prosím tě isOk() volat nemusíš v success bude vždy true tuto metodu nette volá při validaci automaticky.
A pokud chceš obrázek, tak bych si to udělal stejným způsobem jako je isOk(). Ať v udalosti onSuccess neřešíš validaci.