使用multipart / form-data将多个文档写入Marklogic REST扩展

时间:2014-10-10 14:39:11

标签: marklogic

我在这里看到了文件:

http://docs.marklogic.com/guide/rest-dev/bulk#id_54649

首先是"要在单个请求中写入多个文档,请使用以下格式的URL向/ v1 / documents服务发送POST请求,并将Content-Type标头设置为multipart / mixed。 "

问题是我使用python请求,默认情况下,使用内容类型的multipart / form-data,我无法更改,请参阅other SO question

所以我的问题:我可以设置Marklogic REST扩展,因此它使用multipart / form-data而不是multipart / mixed

2 个答案:

答案 0 :(得分:1)

XQRS可以通过multipart/form-data接受文件上传,请求不费吹灰之力,当然包括多次上传。这也是在MarkLogic上制作RESTful Web服务的一种好方法。看看。

答案 1 :(得分:0)

正如您所指的python SO问题中所详述的那样,有些库可以让您编写一个真正的多部分/混合请求来对/v1/documents使用。

话虽如此,我认为从MarkLogic内部的任何地方支持multipart / form-data都应该很容易。它本身受支持,从外观上看,REST扩展也可以与它们一起使用。

我使用method="post" enctype="multipart/form-data"的HTML上传表单进行了快速测试。在表单内,您可以使用file类型的输入字段。关于REST扩展,只需确保将任何输入字段名称加上rs:作为REST扩展的自定义参数所需的前缀。如果要将文件插入数据库,则需要使用post注释REST扩展%rapi:transaction-mode("update")函数,以确保它以更新模式运行。

当然,你必须将上述内容翻译成Python,但这并不困难。

HTH!