This exit is used to view the contents of file attachments stored within the ExtraView database, on the filesystem, or within an external repository linked to ExtraView
Attachment Methods
public boolean ucViewAttachment(
ServletOutputStream out,
Attachment attachment)
There is a ucViewDocument exit which is used to view the contents of fields with a display type of document and image.
public boolean ucViewAttachment(ServletOutputStream out, Attachment attach) {
Z.log.writeToLog(Z.log.DEBUG1, "View Attachment : ");
boolean status = false;
int count = 0;
long bytesRead = 0l;
FileInputStream is = null;
BufferedInputStream bis = null;
BufferedOutputStream bos = null;
File input = new File(attach.getExternalAttachmentIdent());
long fileSize = input.length();
try {
// Get the input stream of the Blob
is = new FileInputStream(input);
bis = new BufferedInputStream(is);
bos = new BufferedOutputStream(out);
byte[] bytes = new byte[1024];
// Read the blob 1024 bytes at a time
while ( (count = bis.read(bytes)) > 0) {
// Write the bytes out to the response
if (bos != null)
bos.write(bytes, 0, count);
bytesRead = bytesRead + count;
}
if (fileSize == bytesRead)
status = true;
}
catch (Exception e) {
ErrorWriter.write(e, ErrorWriter.LOGERR);
}
finally {
try {
if (bis != null)
bis.close();
}
catch (Exception e) {}
try {
if (bos != null)
bos.close();
}
catch (Exception e) {}
}
return true;
}