p:fileupload,当set auto = true时如何显示预览div

问题描述:

<p:fileUpload fileUploadListener="#{fileUploadView.handleFileUpload}" mode="advanced" auto="true" /> 

以下设置自动为true。预览面板不见了 auto to truep:fileupload,当set auto = true时如何显示预览div

下面是设置自动为false。预览面板显示 auto to false

当设置自动为true,PrimeFaces删除预览股利。导致在保存前无法删除上传的文件。有没有解决方法? 自动设置为true,但仍显示出接近IMG预览面板删除上传的文件。

+0

的 '预览面板' 与 'CANCLE /关闭/删除' 按钮是删除/防止图像被上传。而'auto = true'则立即上传图片,以防止上传。此功能不适用于删除上传的图像。这是你需要在例如一个DataGrid /数据表/ ... – Kukeltje

+0

确定..感谢。为了解决这个问题,我添加了一个面板来显示上传的文件和选项从那里删除。 – MnTanProject

+0

请复制我的评论的大部分地区,并添加您的代码解决方案的最相关的部分都在回答中 – Kukeltje

如从上面的评论>的“预览面板”与“CANCLE /关闭/删除”按钮是删除/防止图像被上传。而在auto = true的情况下,图片立即上传,防止上传不可能。此功能不适用于删除上传的图像。 “通过Kukeltje

澄清我的汽车的误解= true选项的解决方案如下:。

  • 由于文件已经上传,使用后端bean来临时保持和不保存到实际路径或数据库显示值(在我的情况下,实际路径)

后端bean的方法:

List<UploadedFile> uploadedPhotoes = new ArrayList<UploadedFile>(); 
public void handleFileUpload(FileUploadEvent event) { 
    uploadedPhotoes.add(event.getFile()); 
} 
public void removeUploadedPhoto(int index) { 
    uploadedPhotoes.remove(index); 
} 

public String getImageContentsAsBase64(UploadedFile photo) { 
    return Base64.getEncoder().encodeToString(photo.getContents()); 
} 

在XHTML文件:

<ui:repeat var="photo" value="#{biddingPlaceBean.uploadedPhotoes}" varStatus="loop" > 

+0

不知道为什么它不显示HTML代码。粘贴在这里。的

MnTanProject

+0

你的infentation代码不正确。在每行的前面使用4个空格或'代码'按钮 – Kukeltje