ajax multiple upload control
- duskohu
- Člen | 778
Caute, neviete mi poradit nejake funkcne riesenie pre nette 2.3 ajax
multiple upload control?
Skusal som
jkuchar/multiplefileupload
: neprebehne ani composer install koli zavyslostiam a skusal som aj JZechy /
jQuery-FileUpload ktory sice nainstalujem a bezi ale ma problem
s validaciou pri validaci max files. Rovnako tento problem je v deme
Neviete mi poradit nejake funkcne riesenie ktore mate odskusane?
- duskohu
- Člen | 778
@JZechy Nejdem posielat issue lebo neviem ci je to bug alebo zamer, napisem to sem:
- Nahraj viac ako je max limit obrazkov a nedaju sa vymazat zo zoznamu obrazky ktore su nad tento limit
- Nahraj viac ako je max limit obrazkov odstran niektore obrazky zo zoznamu, nemali by sa nepovolene obrazky povolit pokial suma obrazkov nepresahuje max limit?
Editoval duskohu (28. 12. 2016 21:08)
- JZechy
- Člen | 161
@duskohu
- Udělat to tak, aby se ze seznamu dali odstranit není problém. Ono to totiž ani ve výsledku nic neovlivňovalo, že by to třeba omezovalo max limit, tudíž jsem se tímhle nějak moc dál nezabýval.
- Tady se přiznám, že tu druhou část věty v souvislosti s tou první moc nechápu… Mohli bys mi to trochu rozvést?
- duskohu
- Člen | 778
JZechy napsal(a):
@duskohu
- Udělat to tak, aby se ze seznamu dali odstranit není problém. Ono to totiž ani ve výsledku nic neovlivňovalo, že by to třeba omezovalo max limit, tudíž jsem se tímhle nějak moc dál nezabýval.
- Tady se přiznám, že tu druhou část věty v souvislosti s tou první moc nechápu… Mohli bys mi to trochu rozvést?
@JZechy
2. Takze ked mas v deme max files 10 a ty nahras 11 jeden obrazok (na konci)
je v nepovolenom stave, cize oznacilo ho ze ho nanahra, ale ked vymazem zo
zoznamu napr. 1 obrazok, tak v tom pripade mam 10 obrazkov a to by malo
oznacit ten na konci ze je ok, ale on stale ma hlasku "Maximální počet
souborů je 10"a teda ho ani nenahra aj ked mam v zozname 10 suborov.
- duskohu
- Člen | 778
@JZechy Cau, tak som nahodil tvoju komponentu a validujem vo vlastnej
metode $form->onValidate[] = array($this, 'validateForm');
mam ale problem, ked sa spusti tato validacna metoda, staci ked sahnem na values
$values = $form->getValues()
, tak ked si dam vypisat values
v onSuccess metode
$form->onSuccess[] = array($this, 'processAdd')
, tak je pole
$values['files']
prazdne. Ked nepouzijem onValidate tak sa pole
$values['files']
naplni.
Editoval duskohu (3. 1. 2017 17:11)
- JZechy
- Člen | 161
@duskohu Ahoj, díky za report (zapsáno jako Issue #13). Problém je v tom, že při volání getValue() (či getValues()) se okamžitě vymaže cache pro současnou frontu, tudíž už v onSuccess[] v cachi už nic není a proto je pole prázdné.
Chybu během odpoledne/večera odstraním, do té doby, pokud to potřebuješ akutně napravit, stačí zatím smazat řádek 423, viz. předchozí odkaz.
Nicméně jsem rád, že ses nakonec uploader rozhodl nasadit! :)
- duskohu
- Člen | 778
JZechy napsal(a):
@duskohu Ahoj, díky za report (zapsáno jako Issue #13). Problém je v tom, že při volání getValue() (či getValues()) se okamžitě vymaže cache pro současnou frontu, tudíž už v onSuccess[] v cachi už nic není a proto je pole prázdné.
Chybu během odpoledne/večera odstraním, do té doby, pokud to potřebuješ akutně napravit, stačí zatím smazat řádek 423, viz. předchozí odkaz.
Nicméně jsem rád, že ses nakonec uploader rozhodl nasadit! :)
@JZechy Ma to jeden hacik. Priklad:
Odosles form, v onValidate[]
vytvoris addError tym padom sa
nedostane do onSuccess[]
, formular sa nerefreshne, a odosles znova
bez suborov, referencia na session stale ostava, ale files v tmp uz niesu.
Editoval duskohu (4. 1. 2017 8:17)
- JZechy
- Člen | 161
@duskohu Horko těžko přemýšlím, jestli mi někde zůstal uložený soubor, když jsem odeslal špatně vyplněný formulář… Leda když měl formulář JS validaci.
Řekl bych, že se soubory to máš jako s heslem, když se odeslaný formulář vrátí s chybou, taky tam heslo není. Nenapadá mě ani, jestli se tohle dá nějak řešit.
- duskohu
- Člen | 778
JZechy napsal(a):
@duskohu Horko těžko přemýšlím, jestli mi někde zůstal uložený soubor, když jsem odeslal špatně vyplněný formulář… Leda když měl formulář JS validaci.
Řekl bych, že se soubory to máš jako s heslem, když se odeslaný formulář vrátí s chybou, taky tam heslo není. Nenapadá mě ani, jestli se tohle dá nějak řešit.
@JZechy Prepac asi som sa zle vyjadril, ja som vymazal ten riedok co si mi pisal, Ono ze tam tie files v tempe niesu, to je ok, ale v session su, a to je zle. Cize ked odoslem formular znovu po tom ako neprejde validaciou, a nevlozim znovu files do uploadu, a odoslem, tak v $values tie files su cize sa nikde nezmazala cache.
Editoval duskohu (4. 1. 2017 9:33)
- duskohu
- Člen | 778
Cize cache sa mazat ma cca ked sa mazu files v tempe a to je ked skript skonci php.net : „The file will be deleted from the temporary directory at the end of the request if it has not been moved away or renamed.“
zatial som to vyriesil, a to je asi jedine riesenie:
public function __destruct() {
$this->cache->remove($this->getTokenizedCacheName($this->token));
}