1

我正在构建一个使用MLPHP 库将文档插入 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 对象的转储:

在这里,我们在搜索结果中插入了文档:

但正如预期的那样,由于 mimetype 错误,浏览器无法处理该文件:

有人知道这里出了什么问题吗?

4

1 回答 1

1

检查内容类型的响应标头是什么。

您可能必须将格式 URL 参数设置为二进制。您可以在http://docs.marklogic.com/REST/GET/v1/documents阅读完整的文档

这是请求的样子

http://localhost:8010/v1/documents?uri=/pdf_demo.pdf&format=binary
于 2014-05-27T05:56:23.303 回答