作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 MySQL 中将 p:fileUpload 上传的图像插入为 BLOB?
@Lob
@Column(name = "photo")
private byte[] photo;
<p:inputText value="#{condidat.condidat.photo}" >
<p:fileUpload fileUploadListener="#{fileUploadController.handleFileUpload}"
allowTypes="*.jpg;*.png;*.gif;" description="Images"/>
</p:inputText>
byte[]
?
最佳答案
您可以通过FileUploadEvent
获取上传的文件内容.在 PrimeFaces 4.x 中使用 Apache Commons FileUpload,或者在 PrimeFaces 5.x 中使用上下文参数 primefaces.UPLOADER
设置为 commons
,您可以使用 UploadedFile#getContents()
获取上传的文件为 byte[]
.
public void handleFileUpload(FileUploadEvent event) {
byte[] content = event.getFile().getContents();
// ...
}
primefaces.UPLOADER
的 PrimeFaces 5.x 中不存在或设置为
auto
或
native
在使用 JSF 2.2 时,然后
getContents()
将返回
null
因为那是
not implemented in NativeUploadedFile
implementation .使用
UploadedFile#getInputStream()
相反,然后
read bytes from it, e.g. with help of commons IO .
public void handleFileUpload(FileUploadEvent event) {
byte[] content = IOUtils.toByteArray(event.getFile().getInputstream());
// ...
}
byte[]
在您的实体中并保留/合并它。
multipart/form-data
并且,当使用 Apache Commons FileUpload 时,您已经配置了
file upload filter在
web.xml
根据 PrimeFaces 用户指南。
关于jsf - 如何从 p :fileUpload as BLOB in MySQL? 插入上传的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8305633/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!