我正在构建一个使用MLPHP library将文档插入MarkLogic服务器的应用程序。问题是当我插入二进制文档时,例如PDF。 mime类型将无法正确设置,因此无法打开文件。
这是我用来插入文档的代码:
// 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');
这是在提交给服务器后$ doc对象的转储: http://i58.tinypic.com/15fiyhc.png
这里我们在搜索结果中有插入的文档: http://i60.tinypic.com/2e2ihcg.png
但正如预期的那样,由于错误的mimetype,浏览器无法处理该文件: http://i60.tinypic.com/20pu0e0.png
任何人都知道这里出了什么问题?
答案 0 :(得分:1)
检查内容类型的响应标头是什么。
您可能必须将格式URL参数设置为二进制。您可以阅读http://docs.marklogic.com/REST/GET/v1/documents
上的完整文档这是请求的样子
http://localhost:8010/v1/documents?uri=/pdf_demo.pdf&format=binary