我是adf的新手,试图从mySqlDb通过VO下载blob文件。 这里只能下载上次上传的文件而不是之前上传的文件,下面是我的代码 在这我正在使用' downloadFileListener'在一个链接和' empReviewVo1Iterator'是我的名字。 即使我尝试下载除了上次上传的文件,它也会下载最后上传的文件
public void downloadFileListener(FacesContext facesContext, OutputStream outputStream) throws IOException {
BindingContext ctx = BindingContext.getCurrent();
DCBindingContainer bc = (DCBindingContainer) ctx.getCurrentBindingsEntry();
DCIteratorBinding iterator = bc.findIteratorBinding("empReviewVo1Iterator");
Row row = iterator.getCurrentRow();
Blob review = (Blob) row.getAttribute("Reviewfile");
String fileName = (String) row.getAttribute("Filename");
try {
InputStream inputStream = review.getBinaryStream();
int fileLength = inputStream.available();
//System.out.println("fileLength = " + fileLength);
byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead = -1;
while ((bytesRead = inputStream.read(buffer)) != -1) {
outputStream.write(buffer, 0, bytesRead);
}
inputStream.reset();
inputStream.close();
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
// response.getWriter().print("SQL Error: " + e.getMessage());
}
}