0

我正在使用开放 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”,因为它包含错误。

有人可以指出一个做类似事情的例子吗?

4

0 回答 0