選択されているタグ : ablogcms

タグを絞り込む : a-blog Ajax amazon ampps appleple AppStore ATND CMS CMSカフェ CPI CSS CSS3 CSSNite Dreamweaver epub facebook flickr Google highslide htaccess html5 HTMLKickStart iPad iphoe iPhone Jimdo jQuery Mac MAMP mycafe MySQL pdf php prettyPhoto SoftBank Spreed TalkNote twitter Tシャツ Ustream Vicuna WCAF WCAN WebService windows wordpress xampp YouTube お菓子 アップデート カスタマイズ カスタムフィールド グッズ コンテスト ステッカー セミナー テンプレート テーマ ベータ版 マニュアル モジュール ライセンス 九州 事例 仙台 勉強会 南知多 合宿 名古屋 大阪 富山 岡山 師崎 広島 愛知 愛知県 札幌 東京 福岡 負荷軽減 金沢 雑誌 青森 静岡 高松

input type="file" multiple で夢の複数ファイルをアップロード

a-blog cms でブログを書いていて面倒なのが複数の画像ファイルを並べたい時だと思う。これまでのHTMLというかINPUTタグ(type="file")では、1つのファイルしか選択する事ができなかったが、HTML5のフォームの拡張で複数ファイルの選択ができるようになったようだ。それがmultiple属性というヤツ。


今まではFlashというか.swfの機能を利用して複数のファイルをアップロードさせる機能を実現させるような事も出来ていましたが、変更する部分が多くなり実現が大変だろうという事で見送っていました。


複数のファイルを選択する multiple 属性

いい時代になりましたね。HTML5で対応しているブラウザ(Chrome 9、Firefox 4、Safari 5、Opera 11 は対応済みで IE 9 は未対応らしい)であれば、

<input type="file" name="image_file[]" multiple="multiple">

と書くだけで、まずは複数のファイルを選択する事が可能になります。


選択した結果として、2ファイルという表示がされています。

画像ファイルのみを指定可能にする accept 属性

また、画像だけを選択させたい時には、accept="image/*" のように書く事で、対応しているブラウザ(Chrome ?、Firefox ?、Opera ? の現状のバージョンでは対応済みで Safari 5、IE 9 は未対応らしい)であればファイルの選択も指定させる事が可能になるようだ。どのバージョンから対応しているのか情報が見つけられていませんので、どなたかご存知の方がいらっしゃいましたらお知らせ下さい。

<input type="file" name="image_file[]" multiple="multiple" accept="image/*">

ファイル選択のキャプチャ画像を見て頂くと、ファイル形式:画像ファイル という表示が出て、.pdf が選択できないようになっているのが分かると思います。これは Firefox 8 でのテスト結果で、chorome 16 では .pdf の選択はできないが、ファイル形式のプルダウンは表示されません。


a-blog cms での対応を考える

うちで作っている a-blog cms での実装する事を考えてみます。

まずフォームを対応にするには簡単な事で、/themes/system/admin/entry/unit.html というテンプレートファイルの以下の部分を探し

<input type="file" name="image_file_{id}[]" size="30" />

以下のように追記してみます。

<input type="file" name="image_file_{id}[]" size="30" multiple="multiple" accept="image/*" />

この次にリリースする予定の 1.5.0 では、最低限 accept 属性は設定して対応しているブラウザでは画像ユニットでは画像のみ選択できるようにするようにします。

受け取り側のPOSTモジュール側はプログラムの改良が必要なようです。それをしないと複数のファイルのどれがアップされるのか、ちょっと分からない感じのようです。システムの動きとしては、

新規登録・追加
表示順(sort)・配置(align)・サイズ(image_size_xx)・キャプション(image_caption_xx)・リンク(image_link_xx)・代替テキスト(image_alt_xx)については、全ての画像が同じデータを編集するようにする。
変更
複数のファイルについては無視というか、何も対応しないでおいてもいいんじゃないかと思う。

こんな感じで、どうでしょうか? この機能については、1.5.0 には実装されないかもしれませんが、将来的には出来るようになるといいですね。


blog comments powered by Disqus

プロフィール

山本一道
  • Twitter
  • Facebook
  • Google+

有限会社アップルップル

山本 一道

名古屋のホームページ制作会社「有限会社アップルップル」の代表をしています。弊社で開発しているCMS「a-blog cms」や、名古屋の「WCAN」も、よろしくお願いします。

エントリーリスト

カテゴリーリスト

タグ