jayendra bhatt
jayendra bhatt

Reputation: 1385

Not able to include image in html using relative path

i have a porlet running in liferay portal.after successfully entering the details , i want to download the details in an html page , in which i have to include an image.

this is done by giving the absolute path as:

<img src="http://localhost:8080/Demo-portlet/images/logo-1.jpg"

and it works fine.

My portlet structure is :

Demo-portlet-->docroot-->images-->logo-1.jpg

Now i want to do this by using relative path. i tried as below but it didnt work out:

  <img src="../Demo-portlet/docroot/images/logo-1.jpg" />
  <img src="./docroot/images/logo-1.jpg" />
  <img src="./images/logo-1.jpg" />

None of the above worked. please tell me how this can be done.

Adding the html path:

Demo-portlet-->docroot-->download.html

Upvotes: 0

Views: 924

Answers (2)

Olaf Kock
Olaf Kock

Reputation: 48087

Your portlet can be embedded on random pages. It's the page's URL that you need to be relative to, not the portlet.

If you have your portlet on http://localhost:8080/web/guest/home or http://localhost:8080/web/guest/about-us/contact/addresses, the relative address would need to be different. Thus I'd recommend to be relative with regards to the server name, but not with regard to the embedding URL: At development time you have no clue what name the pages that embed your portlet will have.

Go with <img src="/Demo-portlet/images/logo-1.jpg" /> or look up the servlet context (e.g. replace "/Demo-Portlet" with a dynamic value, so that you don't have to hard-code it).

(sorry, IDE not running and I'm always mixing up if it's request.getServletContext() or something else - try for yourself and comment here, I'll edit this answer when you give the full code). The dynamic stuff - on a jsp - would be <img src="<%=request.getServletContext()%>/images/logo-1.jpg" />

Upvotes: 0

Michał Myszor
Michał Myszor

Reputation: 21

Try this:

<img src="images/logo-1.jpg" />

Upvotes: 0

Related Questions