1
<rich:fileUpload fileUploadListener="# {bean.fileUploadAction}"
 immediateUpload="true" acceptedTypes="xls" maxFilesQuantity="1">        
</rich:fileUpload>

リッチファイルのアップロードでは、acceptedTypes="xls" を指定しましたが、ファイル選択ボックスで「追加」すると、ファイルの種類がすべて表示されます。特定の形式のみに制限したいのですが、どうすればよいですか。事前に感謝します..

4

2 に答える 2

2

これは、次のHTMLを生成する場合(およびページがHTML5互換のWebブラウザーによって開かれる場合)にのみ可能です。

<input type="file" ... accept="application/vnd.ms-excel" />

ただし、それは行いません<input type="file">代わりに、属性なしで互換性のある単純なHTML4を生成し、acceptJavaScriptによって選択されたファイルのファイル拡張子チェックを実行します。

だからあなたはここで運が悪い。基本的には、に適切な属性が設定され<rich:fileUpload>た目的のHTMLを正確に生成する別のコンポーネントに置き換える必要があります。私が今見ている限り、そのようなコンポーネントを提供しているJSFコンポーネントライブラリはまだありません。あなたはそれを自家栽培する必要があるかもしれません。accept<input type="file">

参照:

于 2013-01-08T15:11:04.757 に答える
2

この代替方法は、問題をある程度解決する可能性があります。以下のようにコンポーネントにonclickイベントを追加します。<rich:fileUpload

<rich:fileUpload onclick="this.getElementsByTagName('input')[0].setAttribute('accept', 'application/vnd.ms-excel');" fileUploadListener="# {bean.fileUploadAction}"
 immediateUpload="true" maxFilesQuantity="1">        
</rich:fileUpload>
于 2013-01-09T03:56:20.007 に答える