写真をサーバーにアップロードするためのファイルアップロードスクリプトがあります。すべてのブラウザで正常に動作していましたが、昨日 Firefox 3.6.6 で Flash Player を 10.1 にアップグレードしたところ、動作しなくなりました。
別のコンピューターで再テストしたところ、Flash Player 10.1 をインストールするとすぐに動作しなくなりました。
デバッグを行ったところ、FileReference リスナーから返されるエラーが I/O エラーであることがわかりました。
ファイルがサーバーにあり、他のすべてのブラウザーで正常に動作するため、意味がありません。
私は運が悪い allowScriptAccess
から変わりまし"samedomain"
た。"always"
アップロード URL にも絶対パスを使用しました。ローカル開発環境で実行すると動作しますが、運用サーバーでは動作しません。サーバー内のフォルダーのセキュリティ設定を 777 に変更しましたが、それでも機能しません。
それは何でしょうか?他の Flash Player バージョンでは完全に動作します。
ムービーを埋め込む HTML:
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="300" id="test" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="wmode" value="transparent" />
<param name="movie" value="uploader_.swf?id=<?=$owner_id?>&ga=<?=$ga_c at?>&sid=<?=$ukey;?>" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />
<embed src="uploader_.swf?id=<?=$owner_id?>&ga=<?=$ga_cat ?>&&sid=<?=$ukey;?>" quality="high" bgcolor="#ffffff" width="550" height="300" name="test" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" wmode="transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
SWF:
var item:FileReference;
//...
//some code and processing of vars needed in the php script to store in the DB
//...
item.upload("upload.php?sid="+sid+"&id="+uid+"&ga="+ga+"&seq="+ sequence);