Hogyan ellenőrzöm, hogy valaki kiválaszott egy fájlt?
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!
■ 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!
AJAX fájl feltöltés
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
Átirányítás
Már leírták, de én is leírom, csakúgy megerősítésképpe
„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
Rejtett iFrame
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?
Ezt már a te dolgod eldönteni, ahogy kényelmesebb.