我可以使用blobl键提供图像 -
res.sendRedirect("/serve?blob-key=" + blobKeys.get(0).getKeyString());
但在Appengine Blobstore docs中,它被提到这样 -
注意:如果您正在提供图像,则更有效且可能更便宜的方法是使用App Engine Images API而不是blobstoreService.serve()来使用getServingUrl()。 getServingUrl方法允许您直接提供图像,而无需通过App Engine实例。
我想知道怎么做才能解决这个问题 -
Map<String, List<BlobKey>> blobs = blobstoreService.getUploads(req);
List<BlobKey> blobKeys = blobs.get("myFile");
if (blobKeys == null || blobKeys.isEmpty()) {
res.sendRedirect("/");
} else {
res.sendRedirect("/serve?blob-key=" + blobKeys.get(0).getKeyString());
}
答案 0 :(得分:0)
if (blobKeys == null || blobKeys.isEmpty()) {
res.sendRedirect("/");
} else {
//todo add the user
ImagesService imagesService = ImagesServiceFactory.getImagesService();
ServingUrlOptions servingOptions = ServingUrlOptions.Builder.withBlobKey(blobKeys.get(0));
String servingUrl = imagesService.getServingUrl(servingOptions);
res.sendRedirect(servingUrl);
// res.sendRedirect("/serve?blob-key=" + blobKeys.get(0).getKeyString());
}