nette.ajax a upload souborů

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

Zdravím,
zajímalo by mě, jak je to s nette.ajax.js a uploadem souborů. Mám form s klasickým file inputem jménem photos (multiple), který odesílám ajaxem. Po odeslání je ale pole $values->photos prázdné. Dělám něco špatně? Nebo nette.ajax soubory odesílat neumí?

Všechno, co jsem k tomu zatím na fóru našla, je buď staré, nebo odkazuje na hotové komponenty (dropzone). Co hledám, je jednoduchý způsob, jak přes nette.ajax odeslat soubory, aniž by se nějak měnil UI nebo vzhled formuláře (mám v tomto směru velmi konkrétní zadání, jak to má vypadat). Případně tip na cokoliv, co na pozadí udělá potřebnou práci a dá se to navázat na obyčejný file input.

Za všechny konstruktivní rady budu ráda.

amik
Člen | 118
+
+1
-

Já se obávám, že tohle nette.ajax neumí (nebijte mě, jestli kecám, nějak důkladněji jsem to neověřoval). Upload souborů přes ajax je docela věda nad rámec standardního nette.ajax.js, já pro to používám https://blueimp.github.io/…File-Upload/ – sice si to musíš do Nette integrovat sama, ale není to zas taková raketová věda a funguje to dobře.

chikeet
Člen | 160
+
0
-

amik napsal(a):

Já se obávám, že tohle nette.ajax neumí (nebijte mě, jestli kecám, nějak důkladněji jsem to neověřoval). Upload souborů přes ajax je docela věda nad rámec standardního nette.ajax.js, já pro to používám https://blueimp.github.io/…File-Upload/ – sice si to musíš do Nette integrovat sama, ale není to zas taková raketová věda a funguje to dobře.

Já jsem to právě zahlídla někde na fóru od @VojtěchDobeš , že by to nette.ajax měl umět (taky mě to překvapilo). Nemůžu to dohledat. Ale třeba to byla nějaká vlčí mlha nebo jsem to blbě pochopila :-)

Ten jQuery plugin vypadá dobře, díky za tip!

jiri.pudil
Nette Blogger | 1032
+
+1
-

@chikeet kód, který to obsluhuje, v nette.ajax.js je, můžeš ho zkusit odkrokovat, proč nefunguje :)

chikeet
Člen | 160
+
+4
-

jiri.pudil napsal(a):

@chikeet kód, který to obsluhuje, v nette.ajax.js je, můžeš ho zkusit odkrokovat, proč nefunguje :)

Tak nakonec se ukázalo, že chyba je mezi klávesnicí a židlí (respektive v neaktuální verzi nette.ajax a špatné práci s replicatorem). Takže: aktuální nette.ajax soubory odesílat umí :-) a nepotřebuje k tomu žádné extra hacky, stačí normálně přidat třídu ajax a všechno ostatní už jde samo.