Diskuze: Upload obrázku v továrničke na formulár
Tvůrce
Zobrazeno 5 zpráv z 5.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Ahoj, ten kód se mi takhle po prvním rychlém zhlédnutí jeví v pořádku a pokud ta chyba naskočila až po přidání upload pole do formuláře, tak to podle mě s kontextem vůbec nesouvisí.
Když člověk vyhledá onu chybu, najde její pravděpodobný původ, což bude nejspíše i Tvůj případ:
Nette od 2.2 závisí pro detekování typu uploadovaných souborů na rozšíření Fileinfo. To je od 5.3 součástí PHP, asi ho tedy jenom nemáš povolené.
Tady je pak oficiální návod na instalaci daného rozšíření - http://php.net/…allation.php
Doporučuji tedy použít to první, zde uvedené řešení, společně s instalací i povolením daného rozšíření a potom dej když tak vědět, jak jsi dopadl.
Ještě jedna věc mě k tomu napadá. Pokud jsi chceš ověřit, že Tvoje instalace serveru a PHP splňuje všechny požadavky Nette, existuje na to takový hezký nástroj Nette Framework Requirements Checker - https://doc.nette.org/…requirements.
Ten právě kontroluje i přítomnost výše uvedeného rozšíření.
P.S.: Pokud používáš starší verzi Nette než je aktuální 2.4, potřebuješ i tenhle nástroj pro příslušnou verzi Nette.
Ďakujem chyba bola presne tam kde si písal. Len si stále neviem poradiť s
DI na context keď to nechám tak ako je prvý kód ktorý som zverejnil hore
chyba:
Undefined property:
App\Modules\AdminModule\Forms\SectionFormFactory::$context
Ak pridám závislosť cez konštruktor na use Nette\Http\Context; chybová hláška Service http.context is deprecated.
Nevieš kde by som mal hľadať chybu ?
Ta první chyba je jasná, protože ten $context z hlediska té tovární třídy není definovaný.
Když si ho potom chceš korektně předat pomocí DI, nastává druhá chyba, protože v nové verzi Nette je již třída Nette\Http\Context označená jako deprecated.
Když se tedy podívám, na co konkrétně ji potřebuješ a jaké je odpovídající alternativní řešení, protože deprecated věci rozhodně používat nechceme, zjišťuji, že ji vlastně využíváš dosti špatně... Takhle by se určitě cesta k www/ adresáři získávat neměla a v souvislosti s konkrétním použitím na ukládání obrázků Tě asi už jenom odkáži sem - https://forum.nette.org/…-nebo-appdir#….
Zkrátka, udělej si na to vlastní, nejlépe model pro práci přímo s obrázky, který cestu k www/ adresáři dostává rovnou z konfigurace. Potom tenhle model mimo jiné můžeš, pokud bude dobře napsaný, použít univerzálně na více místech aplikace. Také, pokud zkontroluješ, že soubor je v pořádku a je to obrázek, můžeš ho rovnou zkonvertovat do třídy obrázku a nemusíš k tomu vůbec použít mezi-ukládání viz. https://api.nette.org/…eUpload.html#…
Zobrazeno 5 zpráv z 5.