It is currently 22 April 2025, 19:20 Advanced search

Apertura immagine base64 su nuova finestra

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

Apertura immagine base64 su nuova finestra

Postby rgiuliani » 7 January 2020, 9:07

Buongiorno,
è possibile aprire un'immagine in base64 su una nuova finestra del browser?
Ho provato con il seguente codice:
Code: Select all
url = "data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595........";
yield app.open(url);


La nuova finestra si apre ma non viene visualizzato nulla. Sul debugger di chrome appare il seguente avviso:
Code: Select all
Not allowed to navigate top frame to data URL:data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595........


In che modo è possibile aprire l'immagine?

Grazie.
User avatar
rgiuliani
 
Posts: 32
Joined: 24 October 2018, 13:35

Re: Apertura immagine base64 su nuova finestra

Postby r.zambito » 7 January 2020, 15:56

Buonasera, il problema è dovuto ad un principio di sicurezza di Chrome che rimuove la possibilità di aprire URL di risorse Base64 direttamente con un istruzione JavaScript.
È possibile ottenere lo stesso effetto aprendo un codice HTML contenente un iframe che include l'immagine:

Code: Select all
  var tempHtml = app.fs.file("temp.html", App.Fs.internalType.temp);
  yield tempHtml.create();
  //
  // Creiamo un documento HTML con l'iframe che contiene l'immagine
  yield tempHtml.write('<iframe src="' +" data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595........" + '" frameborder="0" style="border:0; top:0px; left:0px; bottom:0px; right:0px; width:100%; height:100%;" allowfullscreen></iframe>');
  yield tempHtml.close();
  //
  // Apriamo il contenuto del file
  yield app.open(tempHtml.publicUrl);
  //
  // Eliminiamo il file temporaneo HTML dopo un pò di tempo, prima dobbiamo farlo aprire
  setTimeout(function () {
    tempHtml.remove(function (result, error) {});
  } , 300);
r.zambito
 
Posts: 122
Joined: 17 June 2014, 7:38

Re: Apertura immagine base64 su nuova finestra

Postby rgiuliani » 7 January 2020, 16:17

Ho appena provato e così l'immagine viene visualizzata correttamente.

Grazie mille.
User avatar
rgiuliani
 
Posts: 32
Joined: 24 October 2018, 13:35


Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 13 guests