Java PrimeFaces文件上载组件进度条失败
不确定如何继续调试此。我有一个行为不正常的文件上传组件Java PrimeFaces文件上载组件进度条失败,java,jsf,primefaces,Java,Jsf,Primefaces,不确定如何继续调试此。我有一个行为不正常的文件上传组件 我正在使用PrimeFaces 3.5 fileUpload组件进度条未指示文件上载过程中的进度 文件没有成功上载 在我的IDE错误控制台中看不到错误消息 我在浏览器控制台中也没有看到任何JavaScript错误 这曾经奏效(我继承了这个项目),试着查看我的git回购协议以发现什么改变了,但没有运气 这是我的组件代码 <div class="input input-file"> <p:fileUpload f
- 我正在使用PrimeFaces 3.5
- fileUpload组件进度条未指示文件上载过程中的进度
- 文件没有成功上载
- 在我的IDE错误控制台中看不到错误消息
- 我在浏览器控制台中也没有看到任何JavaScript错误
- 这曾经奏效(我继承了这个项目),试着查看我的git回购协议以发现什么改变了,但没有运气
这是我的组件代码
<div class="input input-file">
<p:fileUpload fileUploadListener="#{adminFilesController.handleFileUpload}"
mode="advanced"
process="@form"
multiple="true"
allowTypes="/(\.|\/)(gif|jpe?g|png|mp4|avi)$/"
/>
</div>
如果有人帮我调试或在谷歌上搜索,我将不胜感激。谈到JSF和PrimeFaces,我有点不知所措。我终于想出了这个办法。我把jQueryUI也包括在内,它显然会用素面撞击头部。仅仅是不包括它就让进度条重新开始工作。我希望这能帮助别人 什么版本的Primefaces?Primefaces V3.5@DanielB.Chapman。
public void handleFileUpload(FileUploadEvent event) {
try {
String fileName = event.getFile().getFileName();
String fileExtension = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
String randomId = UUID.randomUUID().toString();
String targetFileName = randomId + "." + fileExtension;
File targetFile = new File(this.tempPath, targetFileName);
this.uploadedFiles.put(targetFileName, fileName);
InputStream inputStream = event.getFile().getInputstream();
OutputStream out = new FileOutputStream(targetFile);
int read = 0;
byte[] bytes = new byte[20480];
try {
while ((read = inputStream.read(bytes)) != -1) {
out.write(bytes, 0, read);
}
inputStream.close();
out.flush();
out.close();
} catch (Exception e) {
logger.log(Level.SEVERE, "Can't write file", e.toString());
}
} catch (Exception e) {
logger.log(Level.SEVERE, "An exception occurred trying to process the handleFileUpload Event {0}", e.toString());
logger.log(Level.SEVERE, e.getMessage());
System.out.println(e.getStackTrace());
}
}