show preview of pdf file saved in gridfs on browser

Viewed 842

I'm using gridfs to store files in MongoDB. I'm facing a problem when I try to show the large pdf file in the browser, which is saved in gridfs. Large files don't show up in the browser, but small files does.

This is the service code

public function getIpFileByFileId() {
    $request = $this->request;
    $dm = $this->container->get('doctrine_mongodb')->getManager('patient');
    $id = $request->get('fileId');
    //get doc
    $docIpMapping = $dm->getRepository('PatientDocumentsBundle:IPDocuments')->findOneBy([
        'id' => $id
    ]);
    $base64 = (base64_encode($docIpMapping->getFile()->getBytes()));
    $response['data'] = $base64;
    $response['msg'] = 'success';
    return $response;
}

And this is the front end code

Ajax(path, data).success(function (result) {
                        $("#pdfDiv").html('<iframe style="width:100%;height:500px;" src="data:application/pdf;base64,' + result.data + '"></iframe>');
                });

Does the code have any issues? How do I display large files in the front end?

1 Answers
Related