我正在使用PrimeFaces FileUpload组件将.properties
文件传输到服务器。然而,扩展并不是一切,所以我想测试发布其他内容时的行为。我已经上传了示例 jar 文件(具体来说是 apache commons 编解码器),但是我遇到了浏览器的奇怪行为,而不是堆栈跟踪中可能出现的异常:对话框内容完全折叠并且不可用(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 错误我发现了以下内容:primefaces fileupload filter with utf8 characters filter但我不知道它如何适用于我的情况,因为我没有将内容存储到字符串中,我直接在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 发现的错误是导致此问题的原因,还是其他原因?而且,最重要的是,我能做些什么来避免这个错误?