2010-04-01 168 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作爲錯誤消息。

預先感謝任何提示/提示/指針/網址/解決方案:)

乾杯

豐富

+0

你試着讓'followRedirects()'返回'false'嗎? – sfussenegger 2010-04-01 12:22:49

+0

是的,我試過了,我沒有得到任何錯誤,但是沒有任何東西可以放進水桶中。 – Rich 2010-04-01 13:22:06

回答

0

好吧,畢竟,從亞馬遜的示例代碼本身的工作就好了!

由於GAE/J運行的沙箱,我並不期望Amazon代碼能夠工作,但我應該先測試它。

相關問題