J'essaie de récupérer un pdf blob puis l'afficher sur la page. J'utilise le code suivant mais seulement la chaîne de base 64 est affichée à la place du pdf qui est ma sortie désirée.Tirer pdf BLOB de la base de données en utilisant php et l'afficher dans une page html ne fonctionne pas
Ce qui suit est le code que j'utilise.
<?php
//header('Content-type: application/pdf');
require 'connect.php';
$db=mysqli_connect($mysql_host, $mysql_user, $mysql_password,$mysql_dbName);
$sql = "SELECT * FROM files WHERE id = 1688";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);
$pdf = base64_encode($result['file']);
echo $pdf;
?>
<object data="<?php echo $pdf ?>" type="application/pdf"></object>
J'ai essayé d'utiliser
<object data="data:application/pdf;base64,<?php echo base64_encode(content) ?>" type="application/pdf" style="height:200px;width:60%"></object>
Et mettre aussi dans un iframe comme celui-ci
<object data="data:application/pdf;base64,<?php echo base64_encode($result['file']) ?>" type="application/pdf">
<iframe src="data:application/pdf;base64,<?php echo base64_encode($result['file']) ?>"></iframe>
</object>
Mais le fichier pdf ne charge pas.
----------- EDIT 08/05/17 --------
J'Adding un iframe dynamiquement en utilisant le code ci-dessous mais je reçois un erreur indiquant que
ressources interprété comme document mais transféré avec l'application type MIME /pdf:
voici mon javascript nouvellement ajouté
var iframe = document.createElement('iframe');
var src = $('#hiddenBase64').val();//this stores the base64 string
$(iframe).width("100%");
$(iframe).height("100%");
iframe.src = "data:application/pdf;base64," + src;
document.body.appendChild(iframe);
Merci pour toute aide.
Cela a déjà été répondu. https://stackoverflow.com/questions/40948761/display-pdf-blob-file-from-database – Jaberwocky
J'ai regardé cette réponse cependant quand j'essaye cette méthode le dossier de pdf ne charge pas. –
Lire les commentaires, l'utilisateur nécessaire pour le mettre dans un iframe. – Jaberwocky