【发布时间】:2013-11-28 19:34:54
【问题描述】:
我使用 JSF2.1 和 primefaces 来上传文件。在我的应用程序中,我必须在创建记录时动态添加文件。但是当我使用 我无法编写在保存期间上传文件的代码。我希望文件仅在单击保存时上传,而不是在上传期间上传。 谁能帮我实现这个
public String handleFileUpload(FileUploadEvent event) throws IOException {
FacesMessage msg = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, msg);
UploadedFile file = event.getFile();
String prefix = FilenameUtils.getBaseName(file.getFileName());
String suffix = FilenameUtils.getExtension(file.getFileName());
String path = "C:/apache-tomcat-7.0.47/webapps/ROOT/WEB-INF/images";
ExternalContext extContext = FacesContext.getCurrentInstance().getExternalContext();
File fileToDirectory = File.createTempFile(prefix + "-", "." + suffix, new File(path));
InputStream inputStream = event.getFile().getInputstream();
String fileName = event.getFile().getFileName();
OutputStream outputStream = new FileOutputStream(fileToDirectory);
byte[] buffer = new byte[1024];
int length;
//copy the file content in bytes
while ((length = inputStream.read(buffer)) > 0){
outputStream.write(buffer, 0, length);
}
inputStream.close();
outputStream.close();
return path+fileName;
}
我需要保存此代码,但在保存期间我无法获取事件
【问题讨论】:
标签: file-upload jsf-2 primefaces commandbutton