2013-05-02 2 views
2

Java API를 사용하여 Rackspace Cloud에 파일을 업로드하고 있습니다. 나는 내가 업로드하고있는 파일에 "Access-Control-Allow-Origin"헤더를 설정하는 방법을 알아 내려고하고있다. 내가 사용이 헤더를 설정하는 방법에 대한 이야기 ​​다른 링크를 발견 파이썬 여기 바인딩 :Rackspace Cloud Java API를 사용하여 Access-Control-Allow-Origin 설정

Setting Access-Control-Allow-Origin (CORS) in the Rackspace Cloud Files Python API

자바뿐만 아니라 바인딩과 유사한 API가 있습니까? 나는 그것을 찾을 수없는 것 같습니다.

감사합니다.

답변

1

나는 자바 사람이별로 다르지 않지만 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", "*")); 
+0

좋은 답변입니다. 나는 "X-Container-Meta-"를 삭제하기 위해 편집 (보류중인 동료 검토)을했습니다. jclouds가 이것을 추가하면 실제로 예제가 작동하지 않게됩니다. 그것 이외에 그것은 스포트 위에있다. –