ugrás a tartalomhoz

Hogyan ellenőrzöm, hogy valaki kiválaszott egy fájlt?

killroy · 2008. Feb. 28. (Cs), 08.32
Hogyan ellenőrzöm JS-el hogy egy file típusú inputboxba valaki megadta a feltöltendő fájl elérési útvonalát, szóval, hogy használta a tallózás gombot?
Még ezzel kapcsolatban annyi, hogy ha valaki kiválasztotta a fájl akkor hogyan küldöm tovább a szervernek ezt XMLHttpRequest-tel? Én GET metódust alkalmazok, ebben küldöm a szervernek az adatokat.

Válaszaitokat előre is köszönöm!
 
1

AJAX fájl feltöltés

N0r3i · 2008. Feb. 28. (Cs), 08.48
Szia!

Elég sok a kérdésed, nekem meg elég kevés az időm, szóval az első kérdésekre biztosan fogsz válaszokat kapni a tisztelt kollégáktól, én inkább a 3.-ra reagálnék, mert épp most küzdöttem meg vele.

Szóval JavaScript-tel nem férhetsz hozzá a lokális fájlrendszerhez biztonsági okokból (egyes böngészőkben persze lehetnek kiskapuk...), ezért fájl feltöltést csakis űrlap segítségével végezhetsz. Van azonban egy trükk: a form target-jét irányítsd egy iframe-be, ami lehet akár rejtett is, az action menjen egy php fájlba, ahol a szokásos módon feldolgozhatod a kapott fájlt, az echo-zott kimenet pedig az iframe-be megy, tehát pl. kiküldhetsz js kódot is, ami módosíthatja a szülő objektumot is. Ja és a feltöltést a file input onchange eseményére indíthatod a formnév.submit() hívással. Ehhez persze használnod kell a form tag-ot is... Ez ugyan nem Ajax, viszont szépen működik, láthatatlanul a háttérben.

Norbi
2

Átirányítás

thgab · 2008. Feb. 28. (Cs), 09.43
Átirányítás asszem window.location
3

Már leírták, de én is leírom, csakúgy megerősítésképpe

Fraki · 2008. Feb. 28. (Cs), 12.34
Már leírták, de én is leírom, csakúgy megerősítésképpen.

„Hogyan ellenőrzöm JS-sel hogy egy file típusú inputboxba valaki megadta a feltöltendő fájl elérési útvonalát, szóval, hogy használta a tallózás gombot?”

úgy, mint minden más típusú inputboxnál

„hogyan küldöm tovább a szervernek ezt XMLHttpRequest-tel?”
Sehogyan. Csak Iframe-mel. Keresőszavak: xmlhttprequest file upload
4

Rejtett iFrame

killroy · 2008. Feb. 28. (Cs), 15.03
Köszönöm a válaszokat!

Szóval ha olyan ürlapot szeretnék feldolgozni amiben kép feltöltése is sorra kerül akkor az egészet érdemesebb feldolgozni egy rejtett iFrame segítségével POST metódussal és mellőzni az XMLHttpRequest-et. Vagy esetleg ilyen esetben van a kettőnek egy olyan kombinációja ami nem keseríti meg az életemet és sokkal ésszerűbb, vagy maradjak csak a rejtett iFrame-s megoldásnál?
5

Ezt már a te dolgod eldönteni, ahogy kényelmesebb.

Fraki · 2008. Feb. 28. (Cs), 18.19
Ezt már a te dolgod eldönteni, ahogy kényelmesebb. Azért az iframe sem egy egetverő macera, minimális kódtöbbletet kell visszaküldened, tkp. csak az oncomplete eseményre egy workaround.