ugrás a tartalomhoz

dataURL bináris fájl letöltésre

inf · 2014. Jún. 2. (H), 21.17
Belefutottam REST-el kapcsolatban egy olyan érdekes problémába, hogyha a REST service-en keresztül szolgálom ki a fájlokat, akkor ugye a credentials header-ben megy, viszont AJAX-al nem lehet fájl letöltést kikényszeríteni, így védett fájlok letöltésének kényszerítésére nem igazán van mód. Írják egy pár helyen, hogy dataURL-el meg lehet csinálni, kipróbáltam én is, képeken meg HTML-el működik, de bináris fájlokról, pl pdf, doc, xsl nem igazán találtam semmit. Van valakinek tapasztalata ezzel?
 
1

Ne

Hidvégi Gábor · 2014. Jún. 2. (H), 21.38
Első hallásra nagyon rossz ötletnek tűnik (a kódolás miatt jóval nagyobb lesz a forgalom). Mi úgy oldottuk meg, hogy a letöltés linkjét új tabon/ablakban nyitjuk meg, nem pedig AJAX-szal.
2

Ja tudom, nem kell hozzá új

inf · 2014. Jún. 2. (H), 21.53
Ja tudom, nem kell hozzá új ablak egyébként, elég egy location.href... Elméletileg nem navigál el az oldalról, csak ha valami rosszul megy...

Inkább kíváncsiságból kérdezem, szeretem tudni, hogy mik a lehetőségeim. Meg hát alá kéne írni akkor a kérést egy pár másodperces access tokennel, ha védett fájlt akarok kiszolgálni, különben máshogy nem menne, mert header-t nem tudok küldeni egy sima linknél...

Btw mitől lesz nagyobb az adatforgalom?
Védett fájlokat eleve nem kesselünk, szóval minden alkalommal le kell tölteni őket. A base64 miatt, vagy mi miatt?
5

Igen, ha base64-et kell

Hidvégi Gábor · 2014. Jún. 3. (K), 06.52
Igen, ha base64-et kell használni, akkor harmadával nagyobb lesz a méret.
3

HTML5 File API

Poetro · 2014. Jún. 2. (H), 22.05
A File API segítségével lehet letölteni fájlt, akár nem létezőt is, azaz olyat, amit a böngészőben generálsz JavaScripttel. De sajnos ez csak IE10+-ban elérhető. Korábban, ami mindenképpen működni fog, az, ha egy form-ot küldesz el (GET / POST), aminek célpontja egy iframe, vagy _blank. Sima oldal betöltés, iframe-be (GET) szintén működhet. A fentiek esetén a megfelelő HTTP fejlécekkel kell kikényszeríteni a fájl letöltődését.
4

Okés, köszi. Vágom, hogy

inf · 2014. Jún. 3. (K), 06.31
Okés, köszi. Vágom, hogy HTML5, csak újabb böngészőkben van, de ez nem akadály.