2012-11-19 5 views
5

J'ai un petit programme Java qui permet à un utilisateur de télécharger/télécharger des fichiers vers/depuis Amazon S3. J'ai un bouton 'Annuler' et je voudrais annuler le transfert une fois que ce bouton est pressé.Annulation de téléversements AWS S3

Il semble qu'il existe une méthode abort() lors du téléchargement qui semble fonctionner, mais je ne suis pas sûr de savoir comment faire pour annuler un téléchargement. J'utilise un TransferManager pour télécharger les fichiers. J'ai essayé d'appeler transferManager.shutdownNow() avec transferManager.abortMultipartUploads(), mais le fichier apparaît toujours dans la console de gestion S3 comme si le transfert n'a pas été annulé. Est-ce que je fais quelque chose de mal?

Répondre

-1

Je vous recommande de conserver une file d'attente de toutes vos demandes d'annulation et, une fois le téléchargement terminé sur S3, exécutez une action de suppression sur cet objet S3 et supprimez ce fichier de la file d'attente d'annulation. Cela pourrait être le moyen le plus infaillible pour vraiment "annuler" un téléchargement.

1

Dans mon programme, je l'appelle transferManager.upload() méthode pour télécharger un objet PutObjectRequest, puis il retourne un objet Upload, qui contient l'API abort(). Donc, je viens d'appeler upload.abort() pour annuler le transfert. J'espère que cela aide. :)

Questions connexes