Jak przesłać plik p: fileUpload za pomocą przycisku polecenia zamiast przycisku przesyłania
Używam JSF2.1 wraz z primefaces do przesyłania plików. W mojej aplikacji muszę dynamicznie dodawać plik przy tworzeniu rekordu. Ale kiedy używam nie mogę napisać kodu do przesłania mojego pliku podczas zapisywania. Chcę, aby plik został przesłany po kliknięciu tylko Zapisz, a nie podczas przesyłania. Czy ktoś może mi pomóc w realizacji tego
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;
}
Muszę mieć ten kod podczas zapisywania, ale nie mogę uzyskać zdarzenia podczas zapisywania