FileAPIãšXMLHttpRequestã䜿ã£ãç»åã¢ããããŒããäœã£ãŠã¿ãŸããã
Firefox3.6ã§ç¢ºèªã
http://home.wi-wi.jp/lab/00c/
ãšãã£ãŠãéä¿¡éšåã¯ïŒå²æ¹ã©ã€ãã©ãªäŸåã ãšæãã®ã§ã
åèã«ã¯ãªããªãããããã
èªäœã®ãã ã¶å€©ããšãããã³ãã¬ãŒããšã³ãžã³ã®multipart/form-dataéä¿¡ã䜿ã£ãŠãŸãã
XMLHttpRequest2ãå®è£
ãããŠãªããããªã®ã§ã
ãã€ããªããŒã¿ã®ãŸãŸéä¿¡ãããšã
Firefoxã®å Žåã¯ãnullæåã®ãšããã§éä¿¡ããŒã¿ãéåããããã§ãã
ã§ããã€ããªããŒã¿ããããã¹ãããŒã¿ãžã®å€æã¯escape()ã«ããŸããã
ãã€ããªããŒã¿ã«å¯ŸããŠencodeURIComponentã䜿ããšã
ããŒã¿ãç Žå£ãããããã§ãã
ããããã®éšåã¯ã1æã«äžæãããæçš¿ãããã¡ãŒã«ããã
http://d.hatena.ne.jp/nakamura001/20100128/1264674914
ãã®ããŒãžãåèã«ããŸããã
Safari4ãFileAPIãå®è£
ããŠããšèãããã§ãããã¡ãã£ãšåããŸããã
ondropé¢ä¿ãããããŸããããããåŸã»ã©èª¿ã¹ãŠã¿ãŸãã
è€æ°ã®ãã¡ã€ã«ãïŒåã§ã¢ããããŒãããã«ã¯
FileReaderãéåæã§ã®èªã¿èŸŒã¿ããåºæ¥ãªããšããã®ãã¡ãã£ãšããã€ãšãããã
ããã©ãããåŠçãããªããšè¡ããªãããã§ããã
ãŸã ãã©ãããšèšãããšãªã®ã§ã
åæã»éåæã®äž¡æ¹ãå®è£
ãããããšãæã¿ãŸãã
ã¡ãªã¿ã«ãã®ãµã³ãã«ã¯ã
é£ç¶åçãã
ååãå転ãããªããæ®åœ±ããç©ã§ã¹ã©ã€ãïŒåç»ã®ãããªåçãã¿ã³ä»ãïŒãäœãã
ããã°ãã·ã§ããã³ã°ã«ãŒãã«ã
ããã°ããŒã圢åŒã§è²Œãä»ãããããããªãã®ãäœãããã£ãã®ã§ã
ãã®ç®¡çç»é¢çšã«ãšèããŸããã
å転ç»åã¹ã©ã€ã
http://home.wi-wi.jp/lab/00b/
ãã£ãšèšãã°ãã©ã°ã€ã³ãªãã§ããããã©ãããã¯æ·å±
ãé«ããã§ããã(^^;
ã§ãå人çã«ã¯ã
ãã©ãã°ããããã©ãŒã ããiframeã§éä¿¡ããæ¹ãéä¿¡ãããããããªããã(^^;
ç°¡åãªç·šéãåºæ¥ãã°ãšããããã¢ããããŒãåã«ç¢ºèªã§ããçšåºŠã§ããããããã
æ·å±
ã¯é«ãããã
On Sat, 27 Feb 2010 23:17:15 -0800 (PST)
Wataru Kanzaki <goo...@wi-wi.jp> wrote:
> XMLHttpRequest2ãå®è£
ãããŠãªããããªã®ã§ã
> ãã€ããªããŒã¿ã®ãŸãŸéä¿¡ãããšã
> Firefoxã®å Žåã¯ãnullæåã®ãšããã§éä¿¡ããŒã¿ãéåããããã§ãã
>
> ã§ããã€ããªããŒã¿ããããã¹ãããŒã¿ãžã®å€æã¯escape()ã«ããŸããã
> ãã€ããªããŒã¿ã«å¯ŸããŠencodeURIComponentã䜿ããšã
> ããŒã¿ãç Žå£ãããããã§ãã
ãã¡ããåèã«ãªããšæããŸããã
http://hacks.mozilla.org/2009/12/uploading-files-with-xmlhttprequest/
ãããã§ã«ãåãã§ãããããã¿ãŸããã
> Safari4ãFileAPIãå®è£
ããŠããšèãããã§ãããã¡ãã£ãšåããŸããã
> ondropé¢ä¿ãããããŸããããããåŸã»ã©èª¿ã¹ãŠã¿ãŸãã
Safari 4ã§ã¯å®è£
ãããŠããªãã£ããšæããŸããã
çŸç¶ã¯Firefox 3.6+ã ãã ã£ãããšã
Chromiumã§ã¯M5ãã¿ãŒã²ããã«ããŠããã¿ããã§ãã
http://dev.chromium.org/developers/web-platform-status#TOC-File-API
Chorome 5ã§ã¯å®è£
ããããããããŸãããã
--
Futomi Hatano
http://www.html5.jp/
http://www.futomi.com/
http://twitter.com/futomi
> ãã¡ããåèã«ãªããšæããŸãããhttp://hacks.mozilla.org/2009/12/uploading-files-with-xmlhttprequest/
> ãããã§ã«ãåãã§ãããããã¿ãŸããã
ãããããããšãããããŸãã
http://demos.hacks.mozilla.org/openweb/uploadingFiles/
ãã¡ãã®ãã¢ãæèŠããŸããã
ãªãã»ã©ãraw-dataã§éä¿¡ããŠããããã§ãã®ã§ãxhrã®æžãæ¹ã¯åèã«ãªããããããŸããã
ãã¡ã€ã«ãïŒã€èœãšããŠããã¢ããããŒããããšã
ãªã¯ãšã¹ããïŒã€çºçããŠãããšããã®ã¯ãäºæ³éãã§ããã
ããããªã¯ãšã¹ãïŒã€ã§éä¿¡ããããã§ããã©ãããã(^^;
cometãšweb-socketã®éãã¯ãã¡ãã£ãšèª¿ã¹ãã ãã§ããããã
cometã¯ãåä¿¡çšxhrãéä¿¡çšxhrã®ïŒã€ãã
web-socketã¯ãåæ¹åã®éä¿¡ãïŒã€ããšããéãã ããããã§ããã
ãªã¯ãšã¹ãã®æ°ã¯æžãããæ¹ãè¯ããšæãã®ã§ã
ãããã§ããäœååãéä¿¡ãããšãã¯ããªã¯ãšã¹ãæ°ãïŒã€çšåºŠã«å¢ãããŠã
åæã«ã¢ããããŒããããæ¹ãæ©ããªãã®ããªããã
ã§ããªã¯ãšã¹ããå¢ããã°ãµãŒããŒã®è² è·ãããã(- -)
> http://demos.hacks.mozilla.org/openweb/uploadingFiles/main.js
> ããããæ
> var img = document.createElement("img");
> img.classList.add("obj");
> img.file=file;
> ã¢ããããŒãæ
> reader.onloadend = (function(aImg) { return function(e) { new FileUpload(aImg, e.target.result); }; })(imgs[i]);
> reader.readAsBinaryString(imgs[i].file);
ãšãã£ãã®ã§ã
ããããã®ã¿ã€ãã³ã°ãšéãã¿ã€ãã³ã°ã§fileãååŸããããã«ã¯ã
管ççšã®å€æ°ãïŒã€çšæãããããšæã£ããã§ããã
ãã£ã±ããšã¬ã¡ã³ãã®å±æ§ã«çªã£èŸŒãã§ããšã¬ã¡ã³ãã§ç®¡çããæ¹ãç°¡åããã§ããã
ãããããããããã«ã¢ããããŒãããšããããã¯ã
æåãããããããã§è¡šç€ºãã¢ããããŒããã¿ã³ã§ã¢ããããŒãããšã
ïŒæ®µéã«ããæ¹ãäœããããã£ããããããŸããããåèã«ããããã£ãã§ããããã
> Safari 4ã§ã¯å®è£
ãããŠããªãã£ããšæããŸããã
> çŸç¶ã¯Firefox 3.6+ã ãã ã£ãããšã
ãªãã»ã©ã
ã§ããŸãããšããããFileAPIãHTML5ãæ£åŒã«ãªã£ãŠãããããªãã©ãŠã¶ããµããŒãããŠãããªããš
äžè¬çã«äœ¿ã£ãŠè²°ããšããã®ã¯ç¡çã§ãããã(^^;
ãããã䜿ã人ãããã®ãããšèšãåé¡ã¯ïŒŒ(ã»ïŒ¿ïŒŒ)眮ããšããŠ(ïŒïŒ¿ã»)ïŒã
ãã°ããã¯<iframe>ã䜿ã£ãéåæã¢ããããŒããå©çšããŸãã
ã¢ããããŒãå©çšã§ããã°ãæ®éã«xhr + postã䜿ãããæ¹ãè¯ãããã«æããŸãã
çŸç¶ã®apiã ãšãUTF-8ãšã³ã³ãŒãã®ã¹ããªã³ã°ããéããŸãããã
websocketã®pipelineåŠçã§äžæ¬ã®ã¹ããªãŒã ã«ãŸãšãããããšããã¡ãªããã¯ãããŸããã
ãã¡ã€ã«ãµã€ãºã倧ãããªããšãtcp window sizeã®å¶éïŒTCPã®ACKåŸ
ã¡ã§
é床ãåºãªãïŒã®ã»ããå¹ããŠããŸãã®ã§ãé床ãèããã®ã§ããã°ã
è€æ°ã³ãã¯ã·ã§ã³ãå©çšãããæ¹ããã¿ãŒã ãšæããŸããïŒpipelineã§ããçšåºŠ
ãŸãšããã®ã¯"ãã"ãããããŸããïŒ
2010幎3æ1æ¥1:08 Wataru Kanzaki <goo...@wi-wi.jp>:
ãshimonoã§ã
# ä»åºŠã¯mozillaãªåžœåã§ããããããåå¿é ããŠãã¿ãŸãã m__m
(2010/02/28 17:15), Futomi Hatano wrote:
>> XMLHttpRequest2ãå®è£
ãããŠãªããããªã®ã§ã
>> ãã€ããªããŒã¿ã®ãŸãŸéä¿¡ãããšã
>> Firefoxã®å Žåã¯ãnullæåã®ãšããã§éä¿¡ããŒã¿ãéåããããã§ãã
>>
>> ã§ããã€ããªããŒã¿ããããã¹ãããŒã¿ãžã®å€æã¯escape()ã«ããŸããã
>> ãã€ããªããŒã¿ã«å¯ŸããŠencodeURIComponentã䜿ããšã
>> ããŒã¿ãç Žå£ãããããã§ãã
>
> ãã¡ããåèã«ãªããšæããŸããã
> http://hacks.mozilla.org/2009/12/uploading-files-with-xmlhttprequest/
> ãããã§ã«ãåãã§ãããããã¿ãŸããã
ãhacks.mozilla.org ã«ããã³ã³ãã³ããããããããã®ã«æ¥æ¬èªçãã©ããã§ãã£ãã
éãããããªãã®ãïŒãšããã³ã¡ã³ããããããããã ããŠããããããããããã®ãµã€
ãã¯Firefox 3.5ã®ãªãªãŒã¹ã®ãšãã®35days projectããå§ãŸã£ããµã€ãã§ããã®äžåœèªç
ãããã®ã«æ¥æ¬èªçã¯ïŒãšããã³ã¡ã³ãã(宎äŒãªã©ã§)ããããããã ããŠãããŸãããã
ãã§ããããã«æ¬¡ã
ã«ãã¹ããããŠããã®ãå
šéšããã®ã¯å³ãã(ã®åã«æè¿æŽ»ååæ»ããŠ
ãããïŒãšããã®ããããŸãã)ãšããããšã§ããšããããå Žæã¯äœããŸããïŒïŒïŒãã
https://dev.mozilla.jp/hacksmozillaorg/ - hacks.mozilla.org @ Mozilla Developer Street (modest)
ããã§ã«blogãšãã§ç¿»èš³ãããŠããæ¹ã®ãã¹ããžã®ãªã³ã¯ã®è¿œå ãããã£ã¡ããã£ãŠã¿ã
ãïŒãšããæ°ã®ããæ¹ã¯ãã²ãé¡ãããããŸã m__m
# mozilla.org ãšã®ç¿»èš³èš±å¯ãªã©ã®åŠçã¯ã¡ãããšãã£ãŠãããŸãã®ã§ãå®å¿ãã ããã
ãã§ã¯ã§ã¯
ps.
ãããšãmozillaé¢ä¿ã«è»žã眮ããŠãŸããããŠã§ãæšæºãå«ãã "ã¢ããŠã³ã¹ãªã¹ã"ãéèš
ããŠãŸãããªã¹ãã®è©³çŽ°ã¯ https://ssl.jpmoz.net/mailman/listinfo/news-info ãã芧ã
ã ããããªããéçšã®è©³çŽ°ã«ã€ããŠã¯ http://mozwiki.jpmoz.net/info/news-info ããå
ç
§ãã ãããé¢ä¿ããããªãã¹ãããåŸ
ã¡ããŠãããŸã m__m
# 泚: SSL蚌ææžããŸã ãã¡ããšããŠããŸããã®ã§ããã®ç¹ã¯ãäºæ¿ãã ããã
ãæ°ã«ãªãæ¹ã¯èšŒææžSHA1ãã£ã³ã¬ãŒããªã³ã(äž)ãã確èªãã ããã
C0:9A:CD:0B:32:4B:17:3E:0A:33:41:E5:A4:0D:CC:C5:C4:7B:FD:17
- --
Atsushi Shimono - shi...@bug-ja.org
Mozilla Evangelist
Bugzilla Localization WG member; Bugzilla Users Group in Japan
skype:shimono_univ; http://blog.himor.in/; http://facebook.com/himorin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
iQIcBAEBCgAGBQJLugdDAAoJEHI5evwJBSZdqs4P/RtQ5mNFM0D0ouOLolmDZNX9
itIVgHMAcacf5UdqiHw7AxCEoD3UUJNmvaDqbBRVQCzS6Rc5Fx57t8ywJ8emFm/b
6v9K732B+/tLo/UmNeF3NZrM7ZQ/jt+yPIuv0PGGcwuWldQY3Dl0UGojjIcd1kD2
s/7FixXjyntN1/OFIZOSp9h82rb+GUuiP2N4N3THwmvo5JOXRQ67mP2YLRoY889F
zC0irtaSc3vshNl+7xjkg/tCMu9Kb8ibtAy7bv90HboZxthPsNJlaJWafzyOl4pt
YTdsvvPyP5JB/2ma4jDzS8sgP5lvpyM1bIJ9SGQXSanTECNJWnHAGHwVE3atr3c8
QdF48b1VD2NOpjFE98zSNgPLl6fLpG5CZj8WNmvageblFLXMFE+7GCbp/qieaPTH
PjiucYUl8hnTX4k6t8+ZqJaTTDmXxQvvnShN0e/GAC81y3z+ev4kHkMMvFd6MifS
lcVhX4eURswmp5FI+2kB6eXNO5L9UtSQgdvsr9yzmIwvM1vj59QD6JcBrpUrvTQS
/VW2b19CxqNliupIC01FCHhyGRHr8nwdsmhty9/lyYhx+yiwlO3tDQ8eLYhzgHFl
Q6L6YnPkny2eqAnA25E/VUbTRFG7d0CMR67z+aFkUVo0dci9hV3iBT4w65PzHrP3
gp+D6aLWs+6WiKEdkVYm
=YXls
-----END PGP SIGNATURE-----