0

J'ai une application iOS dans laquelle les utilisateurs téléchargent des images directement dans Google Cloud Storage. J'y parviens en utilisant la fonction blobstore.create_upload_url dans mon backend Python Google App Engine, et en envoyant l'URL à mon application. Cependant, afficher ces images à l'utilisateur prend trop de temps car les images sont trop volumineuses, alors je réalise que j'ai besoin de compresser ces images dans Google Cloud Storage. Savez-vous comment cela peut être réalisé par programme?Comment compresser des images/vidéos avec Google Cloud Storage create_upload_url

Je sais que je peux exécuter des commandes de terminal pour obtenir une compression et re-télécharger des images vers Google Cloud Storage, mais je dois le faire par programmation dans mon application.

Répondre

0

Je ne suis pas entièrement sûr du type de compression que vous recherchez, mais le moteur d'application fournit un service d'imagerie vous permettant de redimensionner les images.

A partir de leurs documents, vous pouvez utiliser le service d'image avec le magasin de blob comme source - service

Les images peuvent utiliser une valeur Blobstore comme source d'une transformation . L'image source peut être aussi grande que la taille maximale pour une valeur Blobstore. Le service Images renvoie toujours l'image transformée à l'application, de sorte que l'image transformée doit être inférieure à 32 mégaoctets. Ceci est utile pour faire des images miniatures de grandes photographies téléchargées par les utilisateurs.

Quelque chose le long de ces lignes -

from google.appengine.api import images 

image = Image(blob_key=YOUR_BLOB_KEY) 
image.resize(width=YOUR_WIDTH, height=YOUR_HEIGHT) 
compressed_image = image.execute_transforms(output_encoding=images.JPEG) 

Voici un aperçu de la référence API et liste api -

https://cloud.google.com/appengine/docs/standard/python/images/ https://cloud.google.com/appengine/docs/standard/python/refdocs/google.appengine.api.images