Rozhraní k souboru poskytuje pouze File type input a DataTransfer vlastnost Drag & Drop (Clipboard). Tzn. bez uživatelské akce není možné se k souboru dostat. A to ani k takovému, který byl použit během předchozí session.
Pokud by někdo chctěl přístup k souboru dostat, existuje buď FileSystem API nebo IndexDB, tak jako tak tam ale uživatel musí soubor nahrát předem (resp. uživatel musí vyhrát soubor a web do těchto storage nahrát).
Ahoj,
bacha na výše uvedenou metodu, v ukázce to vypadá dobře, ale jako obecný postup to není dobrý nápad. Data URL není v podstatě nic jiného, než base64 datového obsahu. Zkuste ti představit 100MiB video, které se musí celé načíst, celé převést do base64 a tento celý řetězec vložit do DOM a tím pádem i celý zpracovat... zátěž na procesor, na paměť je značná, pokud je vašim záměrem data zobrazit (aplikace nepotřebuje fyzicky všechna data), doporučuji spíše Object URL (http://www.webnt.cz/31-blob-url-ii/)
Pokud budete trvat na přesnosti, neumožňuje to HTML5, a neumožňuje to ani JavaScript
1/ HTML5 - s ničím se smiřovat nemusíte, je přesně definováno, co to je (http://www.whatwg.org/specs/web-apps/current-work/multipage/, http://www.w3.org/TR/html5/)
2/ Technicky vzato, prohlížeče s ničím jako JavaScript nepracují, pracuji s ECMAScriptem a různými API implementovanými v ES (s JavaScriptem pracoval tuším Netscape, nevím, jak je to teď u FF s označením)
FileAPI není ani součástí HTML5 specifikace, ani součástí ES specifikace, je to samostané API (http://www.w3.org/TR/FileAPI/)
Ale tak nějak se vžilo "API spadající do rodiny HTML5 technologií", jako nové sady současně přicházejících technologí (HTML5, ES5, CSS3, a spousta ES API a další technologie)
Snazim se timhle nacist po castech soubor, a poslat ho pres XMLHttpRequest do upload formu. Problem je asi v enkodovani nebo co, protoze kdyz file readerem nactu slice, tak sice hlasi ze je treba 1000 bytu velky, ale pokud jsou v nem nejakej UTF znaky tak to na server posle jaksi dodrbane, na server prijde treba 1200 bajtu misto 1000.
Vsechno se tvari ze je v poradku, cely multipart blok vypada ze obsahuje presne jen ty bajty ktere chci, kdyz si dam alert(multipart) tak je to presne to co chci poslat na server, ale nasledny g_xhr.send(multipart) posle tu hruzu.
Zkousel to nekdo? Dik
Dobrý den,
zbytečné používate FileReader, blob můžete poslat přímo pomocí XMLHttpRequest.
http://www.w3.org/TR/XMLHttpRequest/#interface-xmlhttprequest