2017-10-10 19 views
-4

でデータベースからPDFファイルを表示私は私の画像を表示するには、このコードを使用してきたPHP

 <dd><?php echo '<img src="data:image/jpeg;base64,'.base64_encode($result['image']).'"/>'; 

しかし、私は、私は私のページで何を取得pdfファイルを表示したいとき、私は私のフレームを取得しますiframeタグから取得します。

私は(もBLOBとして格納されている)私のpdfファイルを表示するには、このコードを使用してきました:

 <dt> <?php echo '<iframe src="data:application/pdf;base64,'.base64_encode($result['image']).'"</iframe>'; ?></dt> 
+2

あなたのiframe 'src'属性行方不明開く二重引用符" – ArtOsi

+0

おかげで、今私はいくつかのPDF探しのページを見ることができますが、それでもファイルを参照するか、または開くことができません。 – Frederic

+0

ブラウザとバージョンを使用していますか?@Frederic –

答えて

1

あなたは問題がなぜ異なる可能性のある理由があります:

  1. でのデータデータベースが壊れています
  2. データベースからデータを取得するとデータが破損します
  3. あなたが作成したHTMLは、お使いのブラウザでは機能しません。

が犯人を見つけるためには、次の手順を行うことができます。

  • は、手動でデータベースからPDFデータを取得し、PDFリーダーでそれを開こう。それでも問題が解決しない場合は、テーブル内のPDFデータが破損している可能性があります。データをデータベースに保存するプロセスを確認します。
  • 取得したデータをbase64にエンコードします(再度デコードして、デコードしたデータをリーダーで開くことで、正しく行われたかどうかを確認してください)。
  • PHPスクリプトからbase64でエンコードされたテキストを出力し、2つのbase64ブロックが等しいかどうか比較します。それらが異なる場合、DBからデータを取得するときにスクリプトがデータを破損しているように見えます。
  • 前に生成したbase64データを使用して静的なHTMLページを作成し、ブラウザで開きます。それでもうまくいかなければ、あなたのHTMLがPDFをPDFに埋め込むのに間違っていたり、ブラウザがPDF埋め込みの表示をサポートしていないだけです。
+0

私は自分のファイルを見て始めました。データベースをダウンロードすると、.binとなり、私はこれを開く方法を理解できません。 しかし、これはウェブサイト上でうまく動作している画像も同様です。 – Frederic

+1

ファイル名を.pdfに変更するか、ファイル名を明示的に指定してコマンドラインから読者に電話するだけです。埋め込み画像のHTMLコードは埋め込みPDFとは異なります。 1つはイメージタグで、もう1つはiframeを使用します。ブラウザーがそれぞれのsrc属性を処理する方法の違いかもしれません。 – Lothar

+0

.pdfに名前を変更して開こうとすると、ファイルが破損していると表示されます。 – Frederic

関連する問題