--------(--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2010-04-18(Sun)

画像プレビュー

なんだか最近のブラウザは、JavaScript からローカルファイルを参照できないようだ。
fakepath/fakefileって何ですか。
セキュリティ上の要請からくる仕様なのだろうけど、CGI 等で画像をアップロードする前にブラウザ上プレビューさせたい、といった場合に不便だと思った。


ローカルを参照できないなら
サーバーから参照すればいいじゃない。


ということで、本番アップロードの前に、予備のアップロードをしておいて、それをブラウザから呼び出しプレビューを実装する。
・予備アップロード用のコードを書いたCGIを別に用意しておく
・アップロード画面に iframe を width=0 height=0 frameborder=0 で name をつけて作成しておく(src は無指定でOK)

アップロード画面内で、FORM 内の INPUT type="file" にファイルが指定されたとき、JavaScript の onChange 関数を使い、action を予備アップロードCGI に指定、target を iframe に指定、submit()する。
そして JavaScript で画像のsrcを書き換えてやれば、プレビューが完了。
その後 action と target を元に戻す(特に target を指定しないなら null)。

本番予備問わずアップロード前に、ちゃんと正規表現等を使って画像ファイルを選別すること。
終わったらプレビュー用の画像をサーバーから削除すること。


たかだかプレビューのためにサーバーのリソースを使うとは何事だ!
って気もするけれど、仕方ないじゃない。

comment

comment form

管理者にだけメッセージを送る

カウンタ
カレンダ
06 ≪ 2017/07 ≫ 08
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 - - - - -
最近の記事
Categories

openclose

月別アーカイブ
書いてる人

searth

Author:searth
DKだから翼は生えないけれど

ブログ内検索
リンク
最近のコメント
しおり
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。