我正在使用Java API将文件上传到Rackspace Cloud。我试图弄清楚如何在我上传的文件上设置标题“Access-Control-Allow-Origin”。我找到了另一个链接,讨论如何使用Python绑定设置此标头:
Setting Access-Control-Allow-Origin (CORS) in the Rackspace Cloud Files Python API
是否有与Java Binding类似的API?我似乎找不到它。
谢谢!
答案 0 :(得分:1)
我不是一个Java人,但根据this,看起来需要在容器上设置元数据,密钥为X-Container-Meta-Access-Control-Allow-Origin
,并且值为空格分隔列表允许来源。
因此,您需要使用用于为jclouds API设置容器元数据的任何函数。
看来这可以在创作时完成(基于this code的改编):
CreateContainerOptions options = CreateContainerOptions.Builder
.withMetadata(ImmutableMap.of("Access-Control-Allow-Origin", "*"));
swift.getApi().createContainer(Constants.CONTAINER, options);
浏览文档,我在org.jclouds.openstack.swift.CommonSwiftClient中找到了以下函数:
boolean setContainerMetadata(String container,
Map<String,String> containerMetadata)
因此看起来你应该能够通过以下方式做你正在寻找的事情:
swift.getApi().setContainerMetadata(container, ImmutableMap.of("Access-Control-Allow-Origin", "*"));