Nelze uložit načtený obrázek z formuláře

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

Ahoj,

mám problém s ukládáním obrázků z formuláře. Toto je můj kód:

<?php
protected function createComponentAkceForm(){
		$form = new Form();
		$form->addUpload('img', 'Soubor: ')->addRule(Form::IMAGE, 'Soubor musí být JPEG, PNG nebo GIF.');
		$form->addText('popis', 'Popis: ', 50)->addRule(Form::FILLED, 'Je nutné zadat informace o obrázku.');
		$form->addSubmit('create', 'Nahrát');
		$form->addSubmit('cancel', 'Zrušit')->setValidationScope(FALSE);
		$form->onSuccess[] = [$this, 'akceFormSubmitted'];
		return $form;
	}

	public function akceFormSubmitted($form, $values){
		if($form['cancel']->isSubmittedBy()){
			$this->flashMessage('Nahrávání zrušeno.', 'notice');
			$this->redirect('default');
		}
		if($form['create']->isSubmittedBy()){
			if($values['img']->isOK()){
				$filename = $values['img']->getSanitizedName();
				$targetPath = $this->fotogalerieManager->getImagesDir();
				$values['img']->move($this->context->params('wwwDir') . $targetPath . $filename);

				$this->fotogalerieManager->insertImageInformations($targetPath, $filename, $values, $filename);
				$this->redirect('default');
			} else {
				$this->flashMessage('Obrázek se nepodařilo nahrát na server.', 'warning');
			}
		}
	}
?>

Zkoušel sem je ukládat jen do wwwDir a stejně to nešlo. Přitom bych řekl, že v tomhle žádná chyba není. Poradíte někdo?

Díky

David Matějka
Moderator | 6445
+
0
-

a hlasi to nejakou chybu? nebo to selze na tom isOk()? jestli to druhe, tak se koukni na getError

razorlight
Člen | 15
+
0
-

Chybu to žádnou nehází, dokonce když ten obrázek už je ve složce a já tam nahraju ten samej znova, tak se do db uloží cesta k němu a normálně se zobrazí.

David Matějka
Moderator | 6445
+
0
-

A co tedy nefunguje? co se kde neulozi?

razorlight
Člen | 15
+
0
-

no neukládají se obrázky do složky, sem ho tam musel dát ručně abych vyzkoušel jestli se ukládá cesta do db

David Matějka
Moderator | 6445
+
+1
-

jo minimalne je tam spatne context->params('wwwDir'), melo by tam byt context->parameters['wwwDir'].. to mi nerikej, ze to nehazi chybu?

a na context bys nemel sahat. mrkni na https://forum.nette.org/…-nebo-appdir#… .. v tvem pripade ti tu cestu muze vracet fotogalerie manager

razorlight
Člen | 15
+
0
-

No přepsání params na parameters nepomohlo, chová se to furt stejně. O ladění se budu starat pak až tohle zprovozním. Nemůže tam být spíš někde nějaký problém v právech, který mě nepustí k zápisu do složky?

Editoval razorlight (22. 2. 2016 10:45)

David Matějka
Moderator | 6445
+
0
-

no je divne, ze to nehaze zadnou chybu. dostane se to vubec do te vetve, kde ukladas soubor?

razorlight
Člen | 15
+
0
-

No tyjo nedostane, neprojde to přes isOK()

razorlight
Člen | 15
+
0
-

tak už sem to vyřešil a funguje to.

Díky