2010-04-01 5 views
0

URLFetchService를 사용하여 Google App Engine (Java)에서 Amazon S3로 파일을 업로드하려고하는데 아주 멀지 않습니다. 시작하기 전에 나는 결코 REST 프로그래밍을 한번도 해 본 적이 없으며 GAE도하지 않았다.URLFetchService를 사용하여 GAE에서 Amazon S3로 파일을 업로드하는 방법은 무엇입니까?

S3에 대한 설명서를 살펴본 후 다음 코드를 제안했습니다. 나는 올바른 길을 가고 있는가? 나는 위의 코드를 실행하면

final URLFetchService urlFetchService = URLFetchServiceFactory.getURLFetchService(); 
final URL url = new URL("http", AWS_BUCKET+".s3.amazonaws.com/myFile.jpg", ""); 
final HTTPRequest request = new HTTPRequest(url, HTTPMethod.PUT, followRedirects()); 
request.addHeader(new HTTPHeader("Content-Type", contentType)); 
request.addHeader(new HTTPHeader("Content-Length", Integer.toString(pictureBytes.length))); 
request.addHeader(new HTTPHeader("Expect", "100-continue")); 
request.addHeader(new HTTPHeader("Authorization", "AWS "+AWS_ACCESS_KEY+":"+AWS_SECRET_KEY)); 
request.setPayload(pictureBytes); 
urlFetchService.fetch(request); 

, 나는 오류 메시지로 Entity enclosing requests cannot be redirected without user intervention 얻을. 힌트/팁/포인터/URL에/솔루션에 미리

감사합니다 :)

건배

리치

+0

'followRedirects()'가'false'를 반환하도록 했습니까? – sfussenegger

+0

그래, 나는 그것을 시도했지만 오류가 발생하지 않지만 아무것도 양동이에 넣지 않습니다. – Rich

답변

0

가 좋아, 모두 그 후, 아마존에서 샘플 코드 자체가 잘 작동합니다!

GAE/J가 실행되는 샌드 박스로 인해 아마존 코드가 작동하지 않을 것으로 예상 했었지만 먼저 테스트해야했습니다.

관련 문제