【问题标题】:BlobstoreService.getUploads always returns NULLBlobstoreService.getUploads 始终返回 NULL
【发布时间】:2016-07-28 19:23:53
【问题描述】:

我正在尝试将图像从 Android 设备存储到 Google Appengine Blobstore。到目前为止我做了什么:

  • 创建了一个返回上传 URL 的 Enpoint(Google Cloud Endpoints)(工作中)

  • 使用 OKHTTP3 创建了一个 POST 请求,该请求以多部分形式发送图像文件(工作?也许不行?)

  • 创建了一个 Servlet,该 Servlet 传递到上传 URL 以处理获取密钥。 (它会被调用,但 getUpload 总是返回 null。)

我在想这可能与我发送 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 中,我可以看到一个名为“photo”但调用的参数:

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

返回空值。零 BlobKeys...

我确定我错过了一些愚蠢的东西......任何帮助都将非常感激!

【问题讨论】:

    标签: java android google-app-engine servlets blobstore


    【解决方案1】:

    所以最后它是 POST 请求。

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

    【讨论】:

      猜你喜欢
      • 2016-05-31
      • 2015-08-15
      • 2012-03-18
      • 2016-11-04
      • 2010-11-08
      • 2017-11-26
      • 2015-02-23
      • 2017-11-16
      • 1970-01-01
      相关资源
      最近更新 更多