Upload obrázku

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
weckho
Člen | 94
+
0
-

Ahoj,

potřeboval bych, prosím, poradit s uploadem obrázku. Ve formuláři mám:

$form->addFile('obrazek', 'Obrázek:')
    				 ->addRule(Form::MIME_TYPE, 'Obrázek musí být ve formátu JPG, PNG nebo GIF.', 'image/*');

A nevím, jak formulář s obrázkem zpracovat, metoda pro zpracování vypadá zatím takto:

public function novinkyFormSubmitted(AppForm $form)
	{
		if ($form['send']->isSubmittedBy()) {
			$novinka = new Novinky;
			$novinka->insert($form->getValues());
			$this->flashMessage('Novinka byla přidána.');
		}

		$this->redirect('this');
	}

Potřeboval bych v metodě nejdříve přenést obrázek na server, a poté uložit jeho název společně s dalšími informacemi do DB (to dělá ta funkce insert).

Děkuji moc za pomoc.

dotTwelve
Člen | 167
+
0
-

Jak bude vypadat validace, kdyz neni podminkou aby byl pripojen soubor, ale kdyz bdue, tak bude muset mit urcity mime type? Nyni to mam takto, ale haze mi to prave MIME_TYPE i kdyz nevyberu soubor.

<?php
$form->addFile('image', 'Obrázek:')
                ->addRule(Form::MIME_TYPE,
                'Povolené typy souborů jsou pouze .png, .jpe, .jpeg, .jpg, .gif',
                'image/png,image/jpeg,image/gif');
?>
redhead
Člen | 1313
+
0
-

Myslím, že:

<?php
$form->addFile('image', 'Obrázek:')
	->addCondition(Form::FILLED)
                ->addRule(Form::MIME_TYPE,
                'Povolené typy souborů jsou pouze .png, .jpe, .jpeg, .jpg, .gif',
                'image/png,image/jpeg,image/gif');
?>

Editoval redhead (28. 4. 2010 16:38)