当ブログに掲載しているサンプルは、すべて利用者の自己責任という形でお願いします。
ただし、明らかな不具合がある場合、ご連絡いただければ、訂正記事を出します。
また、こちらのサンプルは、別のサイト等への公開、転載は一切禁止しています。
どうしてもと言う場合は、筆者にあらかじめご連絡ください。
記事そのもののリンクについてはご自由に行っていただいてよいです。

テクてく Lotus 技術者 Slack に参加しよう!

2015年3月4日水曜日

XPagesのファイルアップロードでファイルの種類を限定する

皆さん、こんにちは。
先日、誕生日を迎えて、四捨五入すると50歳という、もう「アラフィフ」と言っても良くなってしまいました。
全然めでたくありません!

めでたくないので、このボタンをクリックしてください。
にほんブログ村 IT技術ブログへ


今日は久しぶりにXPagesの話題です。
たまには書かないと、「こいつ、ホントにXPagesできるのか?」と疑われてしまいそうなので(笑)


XPagesでは、ファイルを添付するのに便利な「ファイルアップロード」コントロールがあります。
こちらの説明については、以前にも書いていますので、
XPagesで添付ファイルの処理をする(アップロード)
XPagesで文書保存時に添付ファイルの数を限定させるには
そちらを参照願います。

さて、今日はそんなファイルアップロードコントロールのちょっとした応用についてです。
ファイルを添付する際、ファイルの種類を限定したい場合があります。
私にはそんな理由がありました。

それを実現する方法について説明します。

通常のHTMLでは、


と記述することで、アップロードするファイルの種類を限定させることができます。
input type='file'だけを記述したサンプル

ファイルアップロードコントロールをクリックしてみた

では、XPagesのファイルアップロードコントロールではどのように実装すれば良いのでしょうか?
「ファイルアップロードコントロール」のすべてのプロパティを見ると、「accept」という項目があります。
ここに記述してみました。

ところが・・・
動いてくれません。動くのですが、ファイルの種類が限定されません。

今度は、「ファイルアップロードコントロール」のオプションにある「MIMEタイプ」の値を変更してみました。
ところが・・・
やはり動いてくれません。

何でしょう???
IEでもfirefoxでもchormeでも同様の結果です。


私ができたやり方は
すべてのプロパティにある「attrs」で[+]をクリックして、「attr[0]」にacceptを設定したのでした。
attrの設定

ちなみに、複数のファイルの種類を設定したい場合は、
valueに「@List( "image/gif", "image/jpeg", "image/png" )」と配列になるように書いたら動きました。
この時、ちゃんと「◆値の計算」をクリックして、JavaScript式として書くのを忘れないようにしましょう!

実行結果はこちら。
ファイルの種類を増やしてみた

見事に、pngやjpgが増えています。


ということで、attrに値を設定することで色々とできるようですので、試してみてください。



では、今日はこの辺で。



Web化するならXPages!







【PR】ノーツ/ドミノに関するお問い合わせは下記まで【PR】
単純なDBのカスタマイズから他アプリケーションとの連携までご要望にお応えします!
Lotus Notes/Domino カスタマイズとセキュリティ強化 - 株式会社エフ

0 件のコメント: