upload obrázku, prázdné hodnoty
- wise
- Člen | 161
Zdravím,
ve formuláři mám $form->addFile(‚file‘);
po odeslání si vypíšu data
$values = $form->getValues();
Debug::dump($form->values);
a jako výsledek dostanu:
<?php
<pre class="nette-dump"><span>array</span>(14) <code>{
"file" => <span>Nette\Web\HttpUploadedFile</span>(5) <code>{
"name" <span>private</span> => NULL
"type" <span>private</span> => NULL
"size" <span>private</span> => NULL
"tmpName" <span>private</span> => NULL
"error" <span>private</span> => 4
}</code>
.
.
.
?>
přičemž soubor do file inputu vložím.
Nevíte, kde může být problém?
Editoval wise (13. 3. 2011 21:35)
- jtousek
- Člen | 951
Error kód 4 znamená, že nebyl nahrán žádný soubor. Viz http://php.net/…d.errors.php.
Zkus si vypsat $_FILES.
- wise
- Člen | 161
Tak taky nic,
toto mi vygeneruje nette (+ mé úpravy kvůli přehlednosti)
<?php
<form action="nějaká url" method="post" id="frm-mPresenter" enctype="multipart/form-data">
<input type="file" class="fileInput text" name="file" id="frmmpresenter-file" />
...
?>
nějak nechce reagovat na obrázek
Edit: ale ostatní hodnoty jsou v pořádku, jen file ne.
Edit2: … já ten formulář posílám ajaxově… :-)
Editoval wise (14. 3. 2011 2:05)
- Patrik Votoček
- Člen | 2221
wise napsal(a):
Edit2: … já ten formulář posílám ajaxově… :-)
to bude ten problém! XHR neumí soubory to umí až XHR2 a ještě trochu oklikou…
- jtousek
- Člen | 951
V tom případě se divím, že Nette vůbec dovolí odesílat formuláře se soubory ajaxem.
EDIT: Anebo Nette ajax u formulářů neřeší vůbec?
Každopádně řešením je odesílat ten formulář přes iframe a z něj pak přečíst odpověď. Není to nic jednoduchýho, ale dá se to.
Editoval jtousek (14. 3. 2011 8:51)
- bojovyletoun
- Člen | 667
XHR2 posílá soubory přes XHR.upload(). Problém je v rozšířenosti: Safari a chrome Na odesílání přes iframe jsou pluginy do jquery, nezkoušel jsem je ,ale známý je http://plugins.jquery.com/…me-post-form .