I am trying to insert an image in Google Colaboratory (markdown) already saved in Google Drive using this expression ![Text](https://xxxx) but it doesn't work. For example, the Colaboratory markdown manual shows how to insert a photo inline with this example An inline image: ![Google's logo](https://www.google.com/images/logos/google_logo_41.png). Ok, that is a photo from internet, but, when I replace that photo for one already saved in my Google Drive it doesn't appear.
If you have a link like this, then I've got a solution.
https://drive.google.com/file/d/-------/view?usp=sharing
In Google Drive, right-click on the picture
Choose 'Get a sharable link'
Click to 'Copy link'. You need reader permissions. Just need the id of the image.
In my case my link is:
https://drive.google.com/file/d/1xDrydbSbijvK2JBftUz-5ovagN2B_RWH/view?usp=sharing
Now we need to copy JUST the image id:
1xDrydbSbijvK2JBftUz-5ovagN2B_RWH
We will use this base link to generate your link with the image id:
https://drive.google.com/uc?export=view&id=your_id
We then copy the id in the link:
https://drive.google.com/uc?export=view&id=1xDrydbSbijvK2JBftUz-5ovagN2B_RWH
Finally, to place as an image in Google Colab:
![](https://drive.google.com/uc?export=view&id=1xDrydbSbijvK2JBftUz-5ovagN2B_RWH)
I tried all the answers above and nothing worked because of a small change Google has created recently(at the time of writing this post). If you click on "Get Shareable link" and paste it, it would look something like this:
https://drive.google.com/open?id=12BumFEqzKxc9mog8tYuUqvpxf10ot6W3
Now just change the open?id to uc?id and it will instantly work.
According to the answers here
![](https://drive.google.com/uc?export=view&id=XXX)
From the next 3 formats only the first one worked for me:
![](https://drive.google.com/uc?export=view&id=0B3SU50kcW4Q4WFlla00tX3hkdkE)
![](https://drive.google.com/file/d/0B3SU50kcW4Q4WFlla00tX3hkdkE)
![](https://drive.google.com/open?id=0B3SU50kcW4Q4WFlla00tX3hkdkE)
Here is an example using plain html instead of markdown.
<figure>
<center>
<img src='https://drive.google.com/uc?id=1Rb6oXW3KufLApvID5MwxsknpoON2CkQ_' />
<figcaption>Image Caption</figcaption></center>
</figure>
This way, you can also center the image, add captions etc
Unfortunately, I have tried the methods above but they didn't work for me. Then I have tried simply right-clicking on the picture that I want to display on colab, and choose 'Get a sharable link', then the link is automatically copied to my clipboard:
The link will be something like
https://docs.google.com/uc?id=-----
Then using colab's picture inserting button, and insert that link to the (https://) part
![picture](your link)
worked like a magic!
However, if you get a link like this
https://drive.google.com/file/d/-------/view?usp=sharing
after making picture public, it somehow doesn't work.
This below method works for me:
Upload the image on google drive.
Enable link sharing (Right click on image > Get shareable link)
Change access type from 'Restricted' to 'Anyone with link', keep role as 'Viewer', click 'Done'(pop up should close).
Double click on image, Spot 'More actions' icon(top right corner, 3 vertical dots).. click on it and next select 'Open in new tab' from the more action menu, a new windows opens.
Now again, spot 'More actions' icon(top right corner, 3 vertical dots).. click on it and select 'Embed item'. It will give you a HTML 'Embed snippet'.
Copy that HTML snippet and paste it in your Colab noteboook inside a markdown or code cell.
If you use a code cell, you can use magic function %%html (change iframe width and height for your needs).
%%html
<iframe src="link_placeholder" width="600" height="300"></iframe>
I tried all of the above methods, and nothing works for me. However, there is a workaround that bypasses the use of Google Drive altogether: Simply insert the image as Base64 data in normal HTML like so:
<img src='data:image/png;base64, ...lots of base64-data.. style="max-width:100%;" />
If you, for example, are using draw.io to draw a diagram that you want to include, there is a handy option for embedding data (under file->embed). If you choose "image" in this menu, you'll get a pop-up with the relevant code for you to copy. Otherwise there are image to base64-converters online that you can use.
The downside of this method is that you'll end up with a lot of data to paste. However, if you use a dedicated cell for this purpose, there won't be any need to edit that cell ever again.
(As a side note, this method works in most Markdown editors if you for some reason are unable to include an image file. Sometimes it will also work to use SVG data instead of base64, but this does not work in Google Colab.)
Here are my solutions. I liked the first one more.
First Solution :
Step1: First use a wget to fetch the picture, do not use svg file! just png
!wget https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Jupyter_logo.svg/207px-Jupyter_logo.svg.png
Run the code
Step2: Get the name of the file from last line '207px-Jupyter_logo.svg.png', after you run the wget.
from IPython.display import Image
Image("207px-Jupyter_logo.svg.png")
Run the code!
Second Solution:
use the code below and use png file
from google.colab.patches import cv2_imshow
!curl -o logo.png https://colab.research.google.com/img/colab_favicon_256px.png
import cv2
img = cv2.imread('logo.png', cv2.IMREAD_UNCHANGED)
cv2_imshow(img)
So enjoy :)
Solution for svg or other type of files
![This is an image](https://.......svg)
Anyway, use your link :)
3rd from Github_md_guideline
Once you get the public URL of the image, you can insert it in a Markdown cell
With
![Image in a markdown cell]( https://i.imgur.com/6Z1i8zF.png)
Or in a Code cell (this trick is just in Colab, as far as I know)
With
##markdown ![Image in a code cell]( https://i.imgur.com/6Z1i8zF.png)
So you can have Markdown within a code cell.
Link to shareable image is restricted to unique code associated to that picture. Once you update the picture (happens), then you need to update the link too.
Alternative ways are described here . My solution is given there too, so I will not copy past it here.
You can simply copy the picture in the clipboard and paste it in a markdown cell
Following vCard 2.1, I'm adding photos to vCards. I'm encoding the image fetched from a URL, then adding the encoded value to the proper place within the vCard. This seemingly displays the photo correctly for all programs that can open vCards except the Windows Contacts program on Windows 7 (probably doesn't work for newer versions of Windows either).
As far as I can tell, the below snippet should display the vcard photo when opened in Windows Contacts:
BEGIN:VCARD
VERSION:2.1
N;CHARSET=ISO-8859-1:Lastname;Firstname;
FN;CHARSET=ISO-8859-1:Firstname Lastname
ORG;CHARSET=ISO-8859-1: Organization LLP
PHOTO;ENCODING=b;TYPE=jpg: <base64 encoded image as one line>
TITLE;CHARSET=ISO-8859-1:Position
TEL;WORK;VOICE:+1 999 999 9999
END:VCARD
All the other information displays in Windows Contacts, but not the photo. The standard blank image placeholder displays.
I have tried
ENCODING=BASE64
ommitting the ENCODING keyword altogether
removing the TYPE keyword altogether
using specifically a 240px by 240px image
adding the image URL value in the file instead of the encoded value
Anyone have any ideas?
Version 2.1 uses ENCODING=BASE64.
Put an empty line after the PHOTO property. Outlook requires this, so Contacts might too.
Put all parameter names/values in upper case. I know of one compatibility problem with Windows Contacts where it doesn't recognize a parameter value if it's in lower case.
Remove the space character before the base64 data.
Try setting the TYPE parameter to JPEG.
You've correctly encoded the image data, right? Try using an online decoder to make sure.
Corrected property:
PHOTO;ENCODING=BASE64;TYPE=JPEG:<base64 encoded image as one line>
[empty line]
According to the specs, if you have a URL, you should set the VALUE parameter to URL.
PHOTO;TYPE=JPEG;VALUE=URL:<url goes here>
I've run into your post while researching this question and I was able to successfully find the correct way to achieve this.
Bellow is a self-containing example of a v-card containing an 96x96 embedded red.gif image as the PHOTO.
https://www.rfc-editor.org/rfc/rfc2426#section-3.1.4
Be sure to note the VERSION line and the PHOTO line. This is currently working in Outlook365.
BEGIN:VCARD
VERSION:3.0
N:Gump;Forrest;;Mr.;
FN:Forrest Gump
ORG:Bubba Gump Shrimp Co.
TITLE:Shrimp Man
PHOTO;ENCODING=BASE64;TYPE=GIF:R0lGODdhYABgAPAAALccHMlFJiH5BAEAAAEALAAAAABgAGAAAAJuhI+py+0Po5y02ouz3rz7D4biSJbmiabqyrbuC8fyTNf2jef6zvf+DwwKh8Si8YhMKpfMpvMJjUqn1Kr1is1qt9yu9wsOi8fksvmMTqvX7Lb7DY/L5/S6/Y7P6/f8vv8PGCg4SFhoeIiYqLiIUgAAOw==
TEL;TYPE=work,voice;VALUE=uri:tel:+1-111-555-1212
TEL;TYPE=home,voice;VALUE=uri:tel:+1-404-555-1212
ADR;TYPE=WORK;PREF=1;LABEL="100 Waters Edge\nBaytown\, LA 30314\nUnited States of America":;;100 Waters Edge;Baytown;LA;30314;United States of America
ADR;TYPE=HOME;LABEL="42 Plantation St.\nBaytown\, LA 30314\nUnited States of America":;;42 Plantation St.;Baytown;LA;30314;United States of America
EMAIL:forrestgump#example.com
REV:20080424T195243Z
x-qq:21588891
END:VCARD
I am working on an internal helpdesk. Emails address to the helpdesk appear in a Notes View, and I can open the document in XPages and see the text. But it won't show any inserted images within the text.
I can list the attachments as external links (courtesy of http://techdriveactive.blogspot.co.uk/2012/11/open-attachments-in-xpage-in-client.html) but I can't seem to get a handle on the images.
Any ideas ??
One way around that challenge is to use a Dojo ContentPane. It has a href attribute that can point to a different url. You then can point it to the content rendered by the classic engine:
href="someview/docid/Body?OpenField"
Note: this won't work in XPiNC
To you HelpDeskOpenDoc.xsp XPage add a Rich Text control and bind it to the Rich Text Field with the images and other rich content ...
<xp:inputRichText id="inputRichText1" value="#{document1.Body}"></xp:inputRichText>
I am creating an HTML email, and would like to add a table of contents which shows hyperlinks to items in the email. My currently workflow is simply generating the complete HTML file and then displaying that HTML file within the HTMLBody of an Outlook mail item.
When I open the HTML page in a browser, it works fine. But when I set the Outlook mail HTMLBody equal to that text, the bookmarks no longer work.
The bookmark hyperlinks look akin to:
<a href = "#item" ...>Blah<\a>
Where an item in the HTML has the name and id attributes equal to "item"
How do I get the bookmarks to work?
Please set the email type to html.. something like this..
// Set the format of the mail message body as HTML
mMailMessage.IsBodyHtml = IsBodyHtml;
With Outlook 2010, it helped me, when i use <a name="item"></a> as a bookmark. i.e. exactly "A" item.
First sorry if its a stupid guestion but im a really big beginner.
I would like to make an image gallyer similar to facebook, but what i dont really understand is te logic.
I made a multi image upload, it saves the image nam and extension to the database with a title .
A folder is created by the title name.
My problem is i dont know how to select them.
What i mean a person uploads 20 images in folder hello, on the page show the hello with one of the thumbnails and when i click it redirects me to the other pictures.
So tihs is the logic what i dont really understand, and i dont want anybody to write this for me, i only would like the opinion or a hint form a more expreienced developer.
Thank you
In your DB, keep track of the cover photo for each album. Since you probably want to allow users to name albums you might as well save that in there, too.
Table::albums
- id
- name
- photo_id //cover photo, or even the link to the image can be saved here directly if you don't like joins
- ...
Table::album_has_photos
- id
- album_id
- name
- url
- ...
To view the album overview: in your album controller extract the album names, cover photo links from table::albums and send those to the view;
In your view set up a link around each of the cover photos to a controller that loads the album contents from table::album_has_photos;
Display photos from one album and add visual effects.
Ooptional: add pagination to the album overview.
The best idea would be to keep the url of the images in the db (full url or relative - doesn't matter) and possibly the gallery id (if you're using more than one gallery). Then, you'd use the Database class to select all the image urls and send that data to the view. In the view, you can use a foreach loop to generate an appropriate tag for each of the selected images. After that, you could possibly add a lightbox plugin of some sort to have a nice popups when you click on thumbnails.