Jednoduché zpracování addUpload

Arthedian
Člen | 26
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
0
-

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
+
+3
-

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.