How would I implement to stream a file that is not a page attachment? I'm
implementing an image upload and retrieval facility, and need to display a
link to an image that is stored on disk.

I thought DynamicAttachment might be the way to go, but I can neither get
it create the correct link (creates something like "/attach/fileName", with
"fileName" being the one I supplied when creating the dynamic attachment)
which results in a 404.

DynamicAttachment dynAtt = new DynamicAttachment(context.getEngine(),
context.getPage().getName(), fileName, uploadProvider);
dynAtt.setCacheable(false);
dynAtt.setLastModified(context.getPage().getLastModified());
AttachmentManager attMgr =
context.getEngine().getManager(AttachmentManager.class);
attMgr.storeDynamicAttachment(context, dynAtt);

where the uploadProvider does nothing more than

public InputStream getAttachmentData (Context context, Attachment att)
throws ProviderException, IOException {
    Path filePath = Paths.get(uploadDir, att.getFileName());
    return Files.newInputStream(filePath);
}

But anyway, dynamic attachments do not seem to get stored, making the
entire scheme unworkable.

Is there any other way to stream files?

Thanks
Ulf

Reply via email to