2017-04-24 10 views
1

私のPoCにphpとMongoDBを使用しています。 PHPまたはJavaScriptを使用して、BSON MongoBinDataをImageに取得する手助けをすることができます。私は既に以下のコードを使ってMongoDBに画像を挿入しています。BSONからPHPまたはJSでイメージMongoDBに戻る

 $profile = array(
    "username" => "foobity", 
    "pic" => new MongoBinData(file_get_contents("C:\Elan\abstract-wallpapers-mobile.jpg"), MongoBinData::GENERIC), 
); 
$user = $dbs -> user; 
$user -> save($profile); 

PHPやJavascriptを使用してbsonをImageに変換する手助けができます。私はこのトピックの投稿の数を見つけましたが、誰も検索方法を持っていません。何かがあなたを助けてくれたら、リンクを追加してください。私は逆にそれがBINDATAを使用していなかった、うまく動作リンクを、見つけアドバンス

+0

は私が小さい16メガバイト以上の文書を使用するので、私はMongoBinData代わりのGridFsを優先 – ElanBalu

答えて

0

おかげで、base64文字列へのイメージを変更して検索し、ショー後、保存、作成者のように見えます。別の方法があれば、ここに投稿してください。

link

0

バックMongoBinData(16メガバイト未満)を使用して、MongoDBのからあなたのファイル/画像挿入と検索してそこに人を助けるために、この素​​晴らしい機会のために本当に感謝.. So..Firstセクションがあなたを示し、どのようにMongoDBの第2の部分にファイルを挿入した画像との取引が楽しいコーディングをretrieval..Haveます:D

***************** Image insertion************** 
$frut=$_POST['fruit'];//just fruit name from a text box 
$target_dir = "upload/"; 
$target_file = $target_dir . basename($_FILES["img"]["name"]); //from my index page i've Browse Image:<input type="file" id="img" name="img"> 

$m = new MongoClient(); 
$db = $m->test_db;  //mongo db name 
$collection = $db->fruits_image; //collection name 

//-----------converting into mongobinary data---------------- 

$document = array("fruit_name" => $frut,"image"=>new MongoBinData(file_get_contents($target_file))); 

//----------------------------------------------------------- 
if($collection->save($document)) // saving into collection 
{ 
echo "One record successfully inserted"; 
} 
else 
{ 
echo "Insertion failed"; 
} 

******************Image Retrieving****************** 

public function show() 
{ 

$m=new MongoClient(); 
$db=$m->test_db; 
$collection=$db->fruits_image; 
$record = $collection->find(); 
foreach ($record as $data) 
{ 
$imagebody = $data["image"]->bin; 
$base64 = base64_encode($imagebody); 
?> 
<img src="data:png;base64,<?php echo $base64 ?>"/> 
<?php 
} 
} 
} 
?> 
関連する問題