2016-04-07 39 views
0

我試圖從android設備將圖像存儲到Google Appengine Blobstore。返回一個上傳網址(工作)BlobstoreService.getUploads總是返回NULL

  • 創建一個Enpoint(谷歌雲端點)

  • 創建了OKHTTP3 POST請求發送圖像文件中multipartform:我已經這樣做的遠(Working?Maybe not?)

  • 創建一個傳遞給上傳URL以處理獲取密鑰的Servlet。 (它被調用,但getUpload總是返回空值。)

我在想也許它與我如何發送POST請求有關?

OkHttpClient client = new OkHttpClient(); 

    RequestBody body = new MultipartBody.Builder() 
      .setType(MultipartBody.FORM) 
      .addPart(
        Headers.of("Content-Disposition", "form-data; name=\"photo\""), 
        RequestBody.create(MediaType.parse("image/jpeg"), file) 
      ) 

      .build(); 

    Request request = new Request.Builder() 
      .url(url) 
      .post(body) 
      .build(); 

在我的servlet我可以看到一個名爲 「照片」,但呼籲PARAM:

List<BlobKey> blobs = blobstoreService.getUploads(req).get("photo"); 

返回null。零BlobKeys ...

我敢肯定我失去了一些愚蠢的東西......任何幫助將不勝感激!

回答

0

所以最後它是POST請求。

RequestBody body = new MultipartBody.Builder() 
     .setType(MultipartBody.FORM) 
     .addFormData("photo", "photoname") 
     .addFormData("photo", "photo.jpg", RequestBody.create(MediaType.parse("image/jpeg"), file) 
     .build();