2009-07-08 9 views
5

Je souhaite créer une application Web Java sur Google App Engine. Je veux être en mesure de télécharger et de diffuser des images à partir de l'application, mais je viens de réaliser que le magasin de données a une limite de 1 Mo. C'est un peu trop peu pour des images décentes. Y a-t-il une autre façon de suggérer cela? Peut-être stocker ceux-ci comme du contenu statique plutôt que dans le magasin de données, mais il semble y avoir aucune API pour cela.Stockage des images téléchargées sur Google App Engine avec Java

Répondre

4

Maintenant c'est possible sur GAE. Il vous suffit de stocker vos fichiers dans Blobstore. Vous pouvez télécharger vos fichiers comme ceci:

<body> 
<form action="<%= blobstoreService.createUploadUrl("/upload") %>" method="post" enctype="multipart/form-data"> 
    <input type="file" name="myFile"> 
    <input type="submit" value="Submit"> 
</form> 

Et pour servir de fichier servlet:

maintenant Google App
public void doGet(HttpServletRequest req, HttpServletResponse res) 
throws IOException { 
    BlobKey blobKey = new BlobKey(req.getParameter("blob-key")); 
    blobstoreService.serve(blobKey, res); 
1

Il n'y a pas de moyen facile aujourd'hui, mais cela peut changer plus tard.

Le mieux que vous pouvez faire est en ce moment à voter (étoile) la demande d'ajouter le support de Google système de fichiers à AppEngine dans son numéro de suivi:

2

Vous ne pouvez pas écrire sur le système de fichiers dans App Engine. Le contenu statique est donc disponible pour le moment, mais une API de stockage et de traitement des objets blob figure sur la feuille de route. En attendant, votre meilleur pari est de diviser le fichier en morceaux, et de les stocker dans le magasin de données, ou d'utiliser un service externe comme S3.

Questions connexes