BLOBを取得してページに表示しようとしています。 私は次のコードを使用していますが、希望の出力であるpdfの代わりにbase 64の文字列だけが表示されています。phpを使用してデータベースからBLOBをデータベースから取り出し、それをHTMLページに表示しない
以下は、私が使用しているコードです。
<?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>
私は
<object data="data:application/pdf;base64,<?php echo base64_encode(content) ?>" type="application/pdf" style="height:200px;width:60%"></object>
を使用してみましたが、さらにこの
<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>
ようiframe内にそれを置くしかし、pdfファイルの読み込みに失敗しました。
----------- EDIT 5/8/17 --------
私は今、まだ以下のコードを使用して動的にインラインフレームを追加してい私が手ここ
である私の新たに追加されたJavaScript
012:リソースを文書として解釈されず、MIMEタイプ アプリケーション/ PDFで転送というエラー
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);
ありがとうございました。
これは既に回答済みです。 https://stackoverflow.com/questions/40948761/display-pdf-blob-file-from-database – Jaberwocky
この回答を見てきましたが、この方法を試してみるとpdfファイルが読み込まれません。 –
コメントを読んでください。コメントをiframeに入れる必要があります。 – Jaberwocky