nic*_*mon 3 jsf file-upload primefaces
我正在尝试使用DynamicImage实现ImageUpload并立即在同一页面上显示上传的Image.我的问题是,我无法强制刷新p:graphicImage内容并在上传后显示上传的图像.
@ManagedBean(name = "myformbean")
@Controller
@ViewScoped
@Data
public class MyFormBean implements Serializable {
private StreamedContent listImage = null;
public StreamedContent getListImage() {
if (listImage == null) {
try {
listImage = new DefaultStreamedContent(new FileInputStream("E:/t.jpg"), "image/png"); // load a dummy image
}
catch (FileNotFoundException e) {
e.printStackTrace();
}
}
return listImage;
}
public void handleFileUpload(FileUploadEvent event) {
final UploadedFile uploadedFile = event.getFile();
listImage = new DefaultStreamedContent(new ByteArrayInputStream(uploadedFile.getContents()), "image/png");
}
}
Run Code Online (Sandbox Code Playgroud)
在.xhtml文件中:
<p:graphicImage value="#{myformbean.listImage}" />
Run Code Online (Sandbox Code Playgroud)
Dan*_*iel 10
如果您的上传完成了工作
你需要做的就是将id设置为<p:graphicImage这样
<p:graphicImage id="refreshMe" value="#{myformbean.listImage}" />
Run Code Online (Sandbox Code Playgroud)
并在您<p:fileUpload设置更新属性以指向图像
像这样
<p:fileUpload auto="true" ... update="refreshMe" ....
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10696 次 |
| 最近记录: |