/** * Opens a readable stream stream to read a GridFS file, which is selected * by name and revision. * * Supported options: * * * revision (integer): Which revision (i.e. documents with the same * filename and different uploadDate) of the file to retrieve. Defaults * to -1 (i.e. the most recent revision). * * Revision numbers are defined as follows: * * * 0 = the original stored file * * 1 = the first revision * * 2 = the second revision * * etc… * * -2 = the second most recent revision * * -1 = the most recent revision * * @param string $filename Filename * @param array $options Download options * * @return resource * @throws FileNotFoundException */ public function openDownloadStreamByName($filename, array $options = []) { $options += ['revision' => -1]; $file = $this->collectionWrapper->findFileByFilenameAndRevision($filename, $options['revision']); if ($file === null) { throw FileNotFoundException::byFilenameAndRevision($filename, $options['revision'], $this->getFilesNamespace()); } return $this->openDownloadStreamByFile($file); }