Arne
Arne

Reputation: 6240

MarkLogic doesn't recognize mime type of file

I'm building an application that inserts documents into MarkLogic server using the MLPHP library. The problem is when I insert a binary document, for example a PDF. The mime type will not be set properly, therefore the file cannot be opened as it should.

This is the code I use to insert a document:

// initialize REST client
$client = new MLPHP\RESTClient('127.0.0.1', 8010, 'v1', '', 'rest-writer-user', 'writer-pw');
    
// create new document and load content
$doc = new MLPHP\Document($client);
$doc->setContentType("application/pdf"); 
$doc->setContentFile("demo.pdf"); 
$doc->write('pdf_demo');

This is a dump of the $doc object after submitting to the server:

And here we have the inserted document in the search results:

But as expected, the browser cannot handle the file due to the wrong mimetype:

Anyone has got a clue what's going wrong here?

Upvotes: 1

Views: 280

Answers (1)

Tyler Replogle
Tyler Replogle

Reputation: 1339

Check to see what the Response Header for content type is.

You Might have to set the format URL Parameter to binary. You can read the full documentation at http://docs.marklogic.com/REST/GET/v1/documents

here is what the request would look like

http://localhost:8010/v1/documents?uri=/pdf_demo.pdf&format=binary

Upvotes: 1

Related Questions