Jakarta ee 开始上载命令按钮上的文件单击
我使用的是jsf2.2 primefaces 6.0,我已经实现了一个上传文件的解决方案,并点击命令按钮确认需求。问题是,即使需求没有得到验证,每个用户都会上传文件,这会导致对存储库免费收费。 我想纠正这一点,只在用户点击命令按钮验证需求时上传文件 下面是Xhtml代码:Jakarta ee 开始上载命令按钮上的文件单击,jakarta-ee,file-upload,primefaces,jsf-2.2,commandbutton,Jakarta Ee,File Upload,Primefaces,Jsf 2.2,Commandbutton,我使用的是jsf2.2 primefaces 6.0,我已经实现了一个上传文件的解决方案,并点击命令按钮确认需求。问题是,即使需求没有得到验证,每个用户都会上传文件,这会导致对存储库免费收费。 我想纠正这一点,只在用户点击命令按钮验证需求时上传文件 下面是Xhtml代码: <p:fileUpload fileUploadListener="#{imageUploader.handleFileUpload}" l
<p:fileUpload
fileUploadListener="#{imageUploader.handleFileUpload}"
label="Ajouter" uploadLabel="Télécharger" cancelLabel="Annuler"
mode="advanced" auto="false" sizeLimit="10485760" multiple="true"
fileLimit="10" fileLimitMessage="Maximum 10 images"
dragDropSupport="true" allowTypes="/(\.|\/)(gif|jpe?g|png)$/"
invalidFileMessage="Format de fichier non valide" invalidSizeMessage="Taille maximum 10 MB"/>
<p:commandButton update="@form" disabled="#{not facesContext.postback or facesContext.validationFailed}"
style="background:#6FDC6F;color: #FFFFFF;float:left"
styleClass="customStyleButton"
action="#{demandeBean.doAddDemande()}" value="confirmer demande">
</p:commandButton>
为什么你把allowTypes=“/(\.\.\/)(gif | jpe?g | png)$/”放在bean中,但你的文件扩展名总是jpg?这有点错误,看了31次都没有回答!!!!
public class ImageUploader {
private UploadedFile uploadedFile;
@ManagedProperty(value = "#{demandeBean}")
private DemandeBean demandeBean;
public void handleFileUpload(FileUploadEvent event) {
uploadedFile = event.getFile();
String shortImagePath = UUID.randomUUID().toString() + ".jpg";
if (uploadedFile != null && uploadedFile.getContents() != null) {
try {
byte[] contents = uploadedFile.getContents();
FileOutputStream fos = new FileOutputStream(DirectoryInitilizer.IMAGE_DIR + "/" + shortImagePath);
fos.write(contents);
fos.close();
demandeBean.getImages().add(shortImagePath);
FacesMessage message = new FacesMessage("Succesful", event.getFile().getFileName() + " is uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
} catch (Exception e) {
FacesMessage message = new FacesMessage("pb", event.getFile().getFileName() + " is not uploaded.");
FacesContext.getCurrentInstance().addMessage(null, message);
}
}
}