¿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
- Google App Engine con Android: prueba de puntos finales en dispositivos reales
- Excepción personalizada de los extremos de Google Cloud
- Enviar notificaciones en Android mediante Google App Engine
- Permitir que sólo mis aplicaciones Android ejecuten api de punto final en java
- Inicia sesión de Google en la aplicación de Android para consumir Cloud Endpoints backend
- No se puede importar el punto final del motor de la aplicación en mi EndpointsAsyncClass en Android Studio
- Autenticación personalizada en Google Cloud Mobile Backend Starter en Android
- ¿Tengo que usar CollectionResponse como un tipo de retorno en GAE Endpoints API o puedo usar colecciones java de entidades?
- GoogleAuthException: desconocido al autenticar con puntos finales de Cloud
- Configurar el proxy TLS para las API de Google Cloud Endpoint
- Cómo deshabilitar GZipContent en el constructor de Endpoints de Cloud en Android
- Google Cloud Endpoints Cliente Android: error de autenticación
- ¿Cómo usar los puntos finales de Google Cloud con Volley?
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.
- Mapas de Google en una pestaña de acciónbarsherlock
- ¿Cómo actualizo mi ListView después de los cambios en la base de datos?