¿Por qué el código de carga de blobstore tiene url de redireccionamiento?

Me imagino que el proceso de usar el blobstore para almacenar imágenes termina en guardar la clave blob en el almacén de datos. Así que en el siguiente código, que se supone que está en mi back-end, ¿por qué necesito una URL de redirección ya que ya tengo la clave de blob? ¿Por qué no sólo guardar la clave de blob en mi almacén de datos y luego devolverlo?

public class Upload extends HttpServlet { private BlobstoreService blobstoreService = BlobstoreServiceFactory.getBlobstoreService(); public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { Map<String, BlobKey> blobs = blobstoreService.getUploadedBlobs(req); BlobKey blobKey = blobs.get("myFile"); if (blobKey == null) { res.sendRedirect("/"); } else { res.sendRedirect("/serve?blob-key=" + blobKey.getKeyString()); } } } 

Este código es del tutorial: https://developers.google.com/appengine/docs/java/blobstore/overview#Complete_Sample_App

Debido a que Google almacena las imágenes en un servicio diferente (utilizado por Picassa también). El objetivo es optimizar el almacenamiento y proporcionar al desarrollador algunas herramientas para manipular esas imágenes fácilmente.

Consulte esta referencia en la documentación para ver qué puede hacer: https://developers.google.com/appengine/docs/java/images/overview

Para evitar la redirección, utilice este método para publicar imágenes: getServingUrl ()

De la documentación:

El método getServingUrl () le permite generar una URL estable y dedicada para publicar imágenes en miniatura de imágenes web adecuadas. Simplemente almacene una copia única de su imagen original en Blobstore y, a continuación, solicite una URL por imagen de alto rendimiento. Esta URL especial puede servir a esa imagen redimensionada y / o recortada automáticamente. La publicación de esta URL no supone ninguna carga dinámica o de CPU en la aplicación (aunque el ancho de banda sigue cargado como de costumbre). Las imágenes se sirven con baja latencia desde una infraestructura altamente optimizada y sin cookies.

  • Con Android, ¿cómo establezco el plazo máximo para una solicitud de Cloud Endpoint?
  • Cómo configurar exactamente clientes y audiencias para autenticar los puntos finales de Google Cloud para una aplicación para Android
  • Función User.getUserId () en el punto final de nube api devuelve null para un objeto de usuario que no es nulo
  • Fallos de autenticación en la aplicación Android de los puntos finales de la nube
  • GoogleJsonResponseException: 404 No se encuentra utilizando el motor de punto final de google apps backend
  • No se puede conectar a los puntos finales gae locales del emulador de Genymotion
  • Android Studio: ¿dónde "Install Client Libraries" para Cloud Endpoints?
  • Error: Error al encontrar: com.google.guava: guava: 18.0. +
  • Error intermitente del punto final de la nube autenticada en el cliente de Android
  • Puntos finales de Google Cloud y autenticación del usuario
  • Copia de seguridad de datos de Google Cloud Almacén de datos Vs google drive Vs otro servicio de almacenamiento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.