Hi Ernesto,

Certainly the way you suggested makes a lot of sense to me. It is a nice
resource that can just receive the requests and process based resolution of
the SRC attribute - given that the content if the iframe is populated after
the body has been rendered and really Wicket is not doing any processing
from a component point of view. 

Thanks again, Graeme.


reiern70 wrote:
> 
> 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]
>>
>>
> 
> 

-- 
View this message in context: 
http://www.nabble.com/IMG-SRC-URL-in-iframe---part-2.-tp20907919p20920083.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