2017-04-06 5 views
0

データベースのデータ型longblobにイメージが格納されており、そのイメージをページに表示します。 私はphpでデータベースにアクセスしてから、処理するJavaScriptのxmlファイルを作成しています。

私はちょっと働いていますが、画像のURLが長すぎると言っているエラーが発生しています。ここでxml-urlの表示イメージが長すぎます

は私のコード - が
PHP

$sql = "SELECT image1 FROM $dbtable"; 
$result = mysqli_query($con, $sql); 

echo '<?xml version="1.0" encoding="ISO-8859-1"?><Photos>'; 

while($row = mysqli_fetch_assoc($result)) { 
$img = '"data:image/jpeg;base64,'.base64_encode($row['image1']).'" 
height="100" width="100"'; 
    echo "<photo>"; 
    echo "<image>$img</image>"; 
    echo "</photo>"; 
} 
echo "</Photos>"; 

mysqli_free_result($result); 
mysqli_close($con); 
?> 

javascriptの

function getBookResponse() { 
    if (xhr.readyState == 4) { 
     if (xhr.status == 200) { 
      var response = xhr.responseXML; 

      var theBooksDiv = document.getElementById("theBooksDiv"); 
      theBooksDiv.innerHTML = ""; 

      for (var i = 0; i < response.getElementsByTagName('photo').length; i++) { 

       var bookDiv = document.createElement("div"); 
       bookDiv.classList.add("aBookDiv"); 

       var imageValueString = response.getElementsByTagName('image')[i].firstChild.nodeValue; 
       var imageValueTag = createTagFromData("img"); 
       imageValueTag.classList.add("bookImage"); 
       imageValueTag.src = imageValueString; 

       theBooksDiv.appendChild(bookDiv); 
       bookDiv.appendChild(imageValueTag); 

      } 
     } 
    } 
} 

this is what is displayed in the browser

である私はそれがとてもbase64でエンコードを行うことです気持ちを持っている他の方法がありますこれをする?

答えて

0

私はそれ以来、画像をサイトの「画像」フォルダにアップロードし、それらをデータベースに配置するのではなく、そこから表示する方が簡単だと認識しました。

私はtutorialを見つけましたが、これは他の人がこの問題を起こすのを助けるかもしれません。

関連する問題