我使用开放式JPA(websphere应用程序服务器)在db2列中存储文件。 JPA实体看起来像:
@Lob
@Nullable
private byte[] content;
使用apache fileupload
将文件存储在数据库中FileItem item = (FileItem) iterator.next();
byte[] fileData = item.get();
attachment.setContent(fileData);
manager.updateAttachments(attachment);
检索文件:
ServletOutputStream op = response.getOutputStream();
byte buff[] = new byte[8192];
InputStream input = new FileInputStream(uploadedFile);
response.setHeader("Content-Length",String.valueOf(uploadedFile.length()));
response.setHeader("Content-Disposition", "attachment; filename=\""
+ uploadedFile.getName() + "\"");
int i = 0;
while ((i = input.read(buff)) > 0) {
op.write(buff, 0, i);
op.flush();
}
我尝试上传图片文件。检索它时,Firefox会显示以下错误: 无法显示图像“http:// localhost:9081 / SampleFormServlet / retrieveFileServlet”,因为它包含错误。
有人可以指出一个类似的例子吗?