PrimeFacesFileUploadコンポーネントを使用して.properties
ファイルをサーバーに転送しています。ただし、拡張子がすべてではないので、何か他のものが投稿されたときの動作をテストしたいと思いました。サンプルのjarファイル(具体的にはapache commons codec)をアップロードしましたが、スタックトレースで例外が発生する可能性がある代わりに、ブラウザーの奇妙な動作に遭遇しました。ダイアログコンテンツが完全に折りたたまれ、利用できませんでした(IE)。
JavaScriptコンソールを開いたところ、より根本的なエラーが見つかりました。
FireFoxでは、jQueryエラーが発生しますが、ダイアログは折りたたまれません。
NS_ERROR_NOT_IMPLEMENTED: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMLSProgressEvent.input]
ただし、 IE 9では、レンダリングエンジンからエラーが発生します。
XML5617: Ungültiges XML-Zeichen.
form.xhtml, Zeile 3 Zeichen 3926
XML回答には、アップロードされたファイルのコンテンツが添付されるなど、バイナリコンテンツが含まれています。PrimeFacesのバグの可能性を検索すると、次のことがわかりました。utf8文字フィルターを使用したprimefaces fileuploadフィルターですが、コンテンツをStringに保存していないため、直接操作しているため、どのように適用できるかわかりません。UploadedFile
物体:
public void onPropertyFileUpload(FileUploadEvent event) {
log.info("onPropertyFileUpload");
if (event.getFile() == null) {
log.warn("Empty file!!!");
return;
}
Properties props = new Properties();
try {
props.load(event.getFile().getInputstream());
} catch (IOException e) {
log.error(e.getMessage(), e);
return;
}
それで、MultipartRequest
私の場合、BalusCによって発見されたバグがこの問題の原因ですか、それともこれは別のものですか?そして、最も重要なのは、このバグを回避するために何ができるでしょうか?