Google App Engine の REST Web サービス (Jersey を使用) に画像をアップロードしようとしています。
これは私の方法です:
@POST
@Path("/upload")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadImage(@Context HttpServletRequest request){
BlobstoreService bs = BlobstoreServiceFactory.getBlobstoreService();
bs.createUploadUrl("/upload");
Map<String, List<BlobKey>> blobFields = bs.getUploads(request);
List<BlobKey> blobKeys = blobFields.entrySet().iterator().next().getValue();
if (blobKeys != null && !blobKeys.isEmpty()) {
BlobKey blobKey = blobKeys.get(0);
System.out.println("MY KEY: "+blobKey.getKeyString());
}
return null;
}
しかし、私はこの例外を受け取ります:
Uncaught exception from servlet
java.lang.IllegalStateException: Must be called from a blob upload callback request.
この行で:
Map<String, List<BlobKey>> blobFields = bs.getUploads(request);
どこが間違っていますか?