Hi Graeme,
Yes more or less... As I said I do no longer  have access to the code I
wrote (it was for a project on my previous Job)  but as far as I remember
all I did was:

1-mount a resource for servicing files (I suppose I did the same way you are
doing it;-)
2-"generate" HTML code asking for those files.

Maybe part 1) can also be solved by:

1- having on the same page containing your HTML a wicket component, maybe
the same iframe you are using, implementing IResourceListener and, instead
of having a global resource use, that component to stream back your images.
2- or using a servlet.

I really don't know which of these would be the best solution in terms of
efficiency and use of resources...

Best,

Ernesto

On Tue, Dec 9, 2008 at 3:20 PM, Graeme Knight <[EMAIL PROTECTED]> wrote:

>
> Ernesto - similar to what you did?
>
>
> Graeme Knight wrote:
> >
> > Hi.
> >
> > I recently had a question which I put to the forum here:
> >
> >  http://www.nabble.com/IMG-SRC-URL-in-iframe.-td20805408.html Generating
> > IMG SRC to replace CIDs.
> >
> > I believe I have found the answer (thanks to Ernesto's help) which I
> would
> > like some verification of if possible (not sure if it needs a wiki page):
> >
> > Here's the solution:
> >
> > 1) In my application I create a new shared resource:
> >
> >     @Override
> >     protected void init()
> >     {
> >         getSharedResources().add( "cidImageResource", new
> > CIDImageResource() );
> >         mountSharedResource( "/imageStuff", "cidImageResource" );
> >     }
> >
> > 2) My CIDImageResource class is a subclass of DynamicImageResource.
> >
> >     It has a single important implementation of a method in it: byte[]
> > getImageData().
> >
> >     This method will be passed a filename as a parameter. This filename
> is
> > the image file we wish to render and is known by its attachment on
> > url-to-cid-image-resource?filename=image.png . Note that 'image.png' is
> > the name of a file that has previously been serialized onto the file
> > system and replaces the CID in the HTML email that we are rendering.
> >
> > 3) There is a magic class that I have that loads the HTML email data from
> > the filesystem and parses out the CIDs, replacing the
> > SRC="CID:sdkfhsakhfskdfh13213123" with the correct URL to the correct
> > file. This URL is gotten in the following way:
> >
> > First we get the following:
> >
> >             ResourceReference ref = new ResourceReference(
> > "cidImageResource" );
> >
> >             RequestCycle requestCycle = getRequestCycle();
> >
> > We then loop around all our known CID references in the HTML email and
> > call the following:
> >
> >            String contentFileName = UserDefaults.resolveUserHomePath(
> > userName ) + uploadData.getUploadFileName();
> >
> >            ValueMap parameters = new ValueMap();
> >            parameters.put( "filename", contentFileName );
> >
> >           String link = requestCycle.urlFor( resourceReference,
> parameters
> > ).toString();
> >
> > Once we have the link to the file, we replace the correct "CID:". We do
> > this numerous times for the entire HTML email.
> >
> > 4) The HTML email is rendered in an iframe.
> >
> > See my previous post, which I got working, and sets the innerHTML on the
> > iframe:
> >
> http://www.nabble.com/Populate-IFRAME-innerHTML-on-AJAX-load-of-panel.-td20887803.html
> > iframe innerHTML post.
> >
> > The shared resource (cidImageResource) that I created in the application
> > is then called repeatedly during rendering of the iframe, and the image
> > byte data is returned to the browser and rendered correctly in place of
> > the CIDs.
> >
> > Does this sound about right? I hope this may be useful to someone else if
> > it is!
> >
> > All the best, Graeme.
> >
>
> --
> View this message in context:
> http://www.nabble.com/IMG-SRC-URL-in-iframe---part-2.-tp20907919p20915492.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to