FileReference APIを利用したFlash Playerでのファイルアップロードに関するTechNoteが公開されていました。
Flash Player 8は10kb以上のファイルをアップロードをする際は、0サイズで一度接続テストをするとのことです。
Flash Playerが2度ファイルアップロード先に指定されたURLにアクセスすることにります。アクション先に指定されたアップロード用プログラムでは、Content-lengthをみて適切に処理する必要があるということですね。
Flash Player 9は、オプション扱いで設定により接続テストをするように変更されたとのこと。
デフォルトはしない(=false)になっているので、設定しないかぎりは2度アクセスされることはないようです。
Flash Playerによって振る舞いが異なるのは、ユーザエージェント?やContent-Lengthでサーバの処理を変えないといけないんですね..うーむ。
Using the FileReference API to upload files in Flex 2 applications
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=5534a12f&pss=rss_flex_5534a12f
FileReference#upload
Livedocsにある、FileRefernceのAPIドキュメントです。
uploadのメソッドにある、3つめのパラメータによりテストアップロードを制御できるようです。(testUpload:Boolean = false)
(2006/06/28 23:20)
エントリが消えたのでリンクを正式版のドキュメントに書き換えました。
http://livedocs.macromedia.com/flex/2/langref/flash/net/FileReference.html#upload()
FileReference and Test Upload in AS 3.0
そんなにみないで..
http://www.tink.ws/blog/filereference-and-test-upload-in-as-30/
FileReference updated in Macromedia Flash Player 9 beta 3
http://www.abdulqabiz.com/blog/archives/flash_and_actionscript/filereference_u.php
[2006.07.04 追記]
Mac File Types - One more thing…
http://www.joshbuhler.com/2006/05/30/mac-file-types-one-more-thing/
FileReference onComplete bug on Mac OS Flash 8 Player & the fix
http://www.brajeshwar.com/archives/2006/06/filereference-oncomplete-bug-on-mac-os-flash-8-player-the-fix/
FileReference and Test Upload in AS 3.0
テストアップロードをやめるにはtestUpload:Boolean = false;
http://www.tink.ws/blog/filereference-and-test-upload-in-as-30/
YouTube using Flash-based upload
だそうです。
http://mannu.livejournal.com/342383.html
この記事に対するコメント