アップロードされるファイルがExcel形式であるかどうかを確認する方法はありますか?私はApache POIライブラリを使用してExcelを読み込み、ファイルを読み込んでいる間にアップロードされたファイル拡張子をチェックしています。延長検証:アップロードされるファイルがExcel形式であるかどうかを確認する方法は? - Apache POI
String suffix = FilenameUtils.getExtension(uploadedFile.getName());
に礼儀BalusC : uploading-files-with-jsf私は確信している
String fileExtension = FilenameUtils.getExtension(uploadedFile.getName());
if ("xls".equals(fileExtension)) {
//rest of the code
}
を取得するための
コードスニペットは、この検証の適切な方法ではありません。アップロードボタンのブラウズボタンの
サンプルコード
<h:inputFileUpload id="file" value="#{sampleInterface.uploadedFile}"
valueChangeListener="#{sampleInterface.uploadedFile}" />
サンプルコード
<h:commandButton action="#{sampleInterface.sampleMethod}" id="upload"
value="upload"/>
ユーザーは「XLS」およびアップロードするためにドキュメントの拡張子やムービーファイルを変更することができます、ファイルを読み込んでいる間に例外がスローされます。
誰かが何らかの入力を自分のやり方で投げてくれることを期待しています。
どの程度の検証が必要ですか?誰かがcsvをアップロードしていないことを確認するだけで十分ですか?別のオフィスファイル(例:.ppt)をアップロードしていないことを知るには十分ですか?またはそれはエラーなしでロードすることができることを知るのに十分です(切り捨てられないなど)? – Gagravarr
はい、この種のシナリオの大部分です。 –
これらのすべてをチェックしたい場合は、BalusCの言う通り、POIで開き、間違った形式の例外をキャッチしてみてください。 (ほんの一種の単純なチェックをしたければ他のオプションもあります) – Gagravarr