Java 多个图像上载未保存在数据库中
我使用primefaces 2.0进行多图像上传,如下所示:Java 多个图像上载未保存在数据库中,java,primefaces,xhtml,Java,Primefaces,Xhtml,我使用primefaces 2.0进行多图像上传,如下所示: <h:form> <p:fileUpload value="#{newAuctionWizard.auction.image}" fileUploadListener="#{newAuctionWizard.handleFileUpload}" mode="advanced" dragD
<h:form>
<p:fileUpload value="#{newAuctionWizard.auction.image}"
fileUploadListener="#{newAuctionWizard.handleFileUpload}" mode="advanced" dragDropSupport="false"
multiple="true" update="messages" sizeLimit="100000" fileLimit="3" allowTypes="/(\.|\/)(gif|jpe?g|png)$/" />
<p:growl id="messages" showDetail="true" />
</h:form>
@Lob
private byte[] image;
我还为拍卖创建了一个向导,因为我有多个面板,并完成了以下操作:
public void handleFileUpload(FileUploadEvent event) {
try {
InputStream input = file.getInputStream();
byte[] image = IOUtils.toByteArray(input); // Apache commons IO.
auction.setImage(image);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
问题是上传图像(来自myComputer)没有保存在DB中(当我查看图像列时,它显示为NULL)。我还将hibernate用于ORM
有什么想法吗
提前谢谢 您的图像是否正确上载到服务器?检查图像字节数组的大小(不应为空)。此外,应该指向一个图像URL(例如,而不是一个字节数组(即使它们代表一个图像)。阅读此示例,您似乎没有调用任何可以将其保存在db中的内容。例如entitymanager.merge(auction)
public void handleFileUpload(FileUploadEvent event) {
try {
InputStream input = file.getInputStream();
byte[] image = IOUtils.toByteArray(input); // Apache commons IO.
auction.setImage(image);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}