- PR -

PHPでアップロードした画像ファイルをActionScriptで読み込む

1
投稿者投稿内容
Primary
会議室デビュー日: 2006/07/27
投稿数: 5
投稿日時: 2006-07-27 00:02
ActionScriptについて質問させていただきます。

PHPファイルにswfを埋め込み、
フォームからアップロードしたJPEGファイルをswfに即表示させたいと考えています。


1.まず起動時に、MovieClip.loadMovie()を使って外部のJPEGファイルを読み込んでいます。
2.PHPからアップロードして、1のJPEGファイルを別のJPEGファイルに置き換えます。
3.変更したJPEGファイルは一度ブラウザを閉じ、再度開くとムービークリップ内に読み込まれるのですが
 アップロードされた時点で即swfに表示させたいと考えています。
 
同じことをJAVA Appletでやっているのですが、Appletでは読み込み時のもたつきが気になります。
JAVAの場合、アップロードされた画像ファイルをImage I/Oを使って即Applet内に取り込むことが出来ました。

ブラウザを再度立ち上げることなく、置き換えられた外部ファイルを読み込む方法が
ActionScriptにはあるのでしょうか。

ご教授のほど、よろしくお願いいたします。
taloo
会議室デビュー日: 2006/03/20
投稿数: 8
お住まい・勤務地: そうだ○○に行こう
投稿日時: 2006-07-27 11:29
引用:

2.PHPからアップロードして、1のJPEGファイルを別のJPEGファイルに置き換えます。
3.変更したJPEGファイルは一度ブラウザを閉じ、再度開くとムービークリップ内に読み込まれるのですが
 アップロードされた時点で即swfに表示させたいと考えています。


「PHPからアップロード」というのがどういう状況なのかわかりませんが、
アップロードしおわったらMovieClip.loadMovie()すれば良いのではないでしょうか?
ファイル名が同じ場合はキャッシュファイルを読むと思いますので、その対策はしておいて下さい。
Primary
会議室デビュー日: 2006/07/27
投稿数: 5
投稿日時: 2006-07-27 15:39
早速ご回答いただきありがとうございます。

説明不足で申し訳ありません。

「PHPからアップロード」というのは、
index.phpを作り、その中にフォームとswfを埋め込み
フォームからアップロードしたファイルをindex.phpの中のswfに即表示させるということです。

アップロードされたファイルは上書きしているので、同じ名前になっています。
キャッシュファイルを読み込んでいるために、MovieClip.loadMovie()を使っても
うまくいかないのだと思います。

talooさんの仰られた、キャッシュファイルを読みこまないようにする対策を教えていただけますでしょうか。
お願いいたします。
taloo
会議室デビュー日: 2006/03/20
投稿数: 8
お住まい・勤務地: そうだ○○に行こう
投稿日時: 2006-07-28 06:40
引用:

talooさんの仰られた、キャッシュファイルを読みこまないようにする対策を教えていただけますでしょうか。


一般的に使われる手法としてファイル名の後ろに現在時刻をつける、というのがありますね。

d=new Date();
s=d.getSeconds();
loadMovie("image.jpg?"+s, "obj_image");

Expiresヘッダを出力するとかでキャッシュコントロールをしても、
IEなどでは正確にコントロール出来ないようです。
(サーバーとクライアントの時計が違っていると、Expiresがずっと先になる可能性もありますし)
Primary
会議室デビュー日: 2006/07/27
投稿数: 5
投稿日時: 2006-07-28 08:53
出来ました!
talooさんありがとうございました!!!

d=new Date();
s=d.getSeconds();
loadMovie("image.jpg?"+s, "obj_image");

これでキャッシュコントロールが出来ました!
勉強させていただきました!
本当にありがとうございました。

今、AppletからFLASHへ移植している最中で、いろいろ
躓いています。
(ActionScriptは初めてなもので・・・)

トライした上で、ハマッてしまった時は
また質問させていただくことがあると思いますが、
今後とも、よろしくお願いいたします。
1

スキルアップ/キャリアアップ(JOB@IT)