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

3
我在这里看到了文档:

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

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

问题是我使用的是 Python Requests,默认使用 content-type multipart/form-data,我无法更改,参见 其他 SO 问题

因此我的问题是:我能否设置 Marklogic REST 扩展程序,使其使用 multipart/form-data 而不是 multipart/mixed?

2个回答

1

XQRS可以轻松地通过multipart/form-data请求接受文件上传,包括多个上传。这也是在MarkLogic上创建RESTful Web服务的一个很好而简单的方法。快来看看吧。


0

正如您所提到的Python SO问题中所详细说明的那样,有一些库可以让您组合一个真正的multipart/mixed请求来使用/v1/documents

话虽如此,我认为从MarkLogic内部的任何地方支持multipart/form-data应该是非常容易的。它是本地支持的,并且从外观上看REST扩展也可以与它们一起工作。

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

当然,您需要将上述内容翻译成Python,但这不应该很难。

希望对您有所帮助!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接