2

我正在使用 Java API 将文件上传到 Rackspace Cloud。我试图弄清楚如何在我上传的文件上设置标题“Access-Control-Allow-Origin”。我在这里找到了另一个关于使用 Python Binding 设置此标头的链接:

在 Rackspace Cloud Files Python API 中设置 Access-Control-Allow-Origin (CORS)

Java Binding 是否也有类似的 API?我似乎找不到它。

谢谢!

4

1 回答 1

1

我不是一个 Java 人,但根据一点,看起来需要在您的容器上设置元数据,键为X-Container-Meta-Access-Control-Allow-Origin,并且值是空格分隔的允许来源列表。

因此,您需要使用用于为 jclouds API 设置容器元数据的任何函数。

看来这可以像这样在创建时完成(基于此代码的改编):

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", "*"));
于 2013-05-03T05:39:57.727 回答