2017-01-05 2 views

ответ

0

Вы можете пройти через это link. Это показывает, как вы можете использовать gridFS с Laravel-mongodb, а также вам может понадобиться обновить драйверы mongo db для этого.

Другой link для справки.

Хотя там нет образца кода, но это поможет вам, если вы работали над Монго с Laravel.

Надеется, что это поможет вам

+0

я нашел и эти ссылки ... но без примеров кода и документации, это далеко не тривиальное – hotips

+0

Эта функция не документирована, и никакие примеры не предусмотрены, к сожалению ... – hotips

1

Вы можете использовать Bucket класс для загрузки и выгрузки документов MongoDB сетки на Монго-PHP-библиотеки 2.2 драйвера.

//upload file 
$bucket = \DB::connection('mongodb')->getMongoDB()->selectGridFSBucket(); 
$resource = fopen($file_path, "a+"); 
$file_id = $bucket->uploadFromStream($file_path, $resource); 

//download file 
$bucket = \DB::connection('mongodb')->getMongoDB()->selectGridFSBucket(); 
$file_metadata = $bucket->findOne(["_id" => $file_id]); 
$path = $file_metadata->filename; 

if(!file_exists($path)) { 
    $downloadStream = $bucket->openDownloadStream($file_id); 
    $stream = stream_get_contents($downloadStream, -1); 
    $ifp = fopen($path, "a+"); 
    fwrite($ifp, $stream); 
    fclose($ifp); 
} 
+0

Обратите внимание, что $ file_id переменная является ObjectId, если у вас есть строковое значение, вам нужно преобразовать его в ObjectId: $ file_id = new \ MongoDB \ BSON \ ObjectID ($ str_file_id); – gras

Смежные вопросы