【发布时间】:2016-04-20 21:26:04
【问题描述】:
我想从文件资源管理器上传 BLOB,但我对上传 Blob 有点陌生,尤其是在使用 JPA(Java Persistance API) 时。
我想我会向您展示我的一些代码,看看您是否可以给我任何朝着正确方向发展的想法。
我的实体类如下所示:
@Entity
@Table(name = "exampletable")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Blob1337.findByTestBlob", query = "SELECT e FROM Blob1337 e WHERE e.testBlob = :testBlob")})
@Column(name = "test_blob")
private Integer testBlob;
public Integer getTestBlob() {
return testBlob;
}
public void setTestBlob(Integer testBlob) {
this.testBlob = testBlob;
}
如您所见,我不确定这里的 BLOB 使用什么,所以现在它是一个整数。
我的外观是这样的:
@PUT
@Path("{id}")
@Consumes({"application/json"})
public void edit(@PathParam("id") Integer id, Blob1337 entity) {
Blob1337 entityToMerge = find(id);
if (entity.getTestBlob() != null) {
entityToMerge.setTestBlob(entity.getTestBlob());
}
super.edit(entityToMerge);
}
如何让我的外观和实体类知道这是一个 BLOB?我希望能够通过 ajax 帖子上传此文档,如果我是正确的,这应该是非常基本的。
谢谢!非常感谢任何帮助!
【问题讨论】:
-
为什么你的
testBlob是Integer而不是byte[]或string? -
@Mikey 这就是我要找的,用什么来代替整数。如果需要,如何处理它,在下面发布的外观中。我应该使用某种输入流还是什么?
-
对于门面:File Upload。
byte[]为您的 blobtestBlob应该没问题。 -
@Mikey 谢谢,我会继续寻找上传到数据库的示例,忘记提及了。