2012-11-19 40 views
5

Ho un piccolo programma Java che consente a un utente di caricare/scaricare file da/per Amazon S3. Ho un pulsante 'Annulla' e vorrei annullare il trasferimento dopo aver premuto questo pulsante.Annullamento caricamenti AWS S3

Sembra che ci sia un metodo abort() durante il download che sembra funzionare, tuttavia non sono sicuro di come interrompere l'upload. Sto usando un TransferManager per caricare i file. Ho provato a chiamare transferManager.shutdownNow() insieme a transferManager.abortMultipartUploads(), tuttavia il file viene comunque visualizzato nella console di gestione S3 come se il trasferimento non fosse stato interrotto. Sto facendo qualcosa di sbagliato?

risposta

-1

Si consiglia di mantenere una coda di tutte le richieste di annullamento e una volta che il file ha completato il caricamento su S3, si esegue un'azione di eliminazione su quell'oggetto S3 e si rimuove tale file dalla coda di annullamento. Questo potrebbe essere il modo più stupido per "annullare" veramente un caricamento.

1

Nel mio programma, mi chiamano transferManager.upload() metodo per caricare un oggetto PutObjectRequest, e poi restituisce un oggetto Upload, che contiene abort() API. Quindi chiamo lo upload.abort() per cancellare il trasferimento. Spero che questo aiuti. :)

Problemi correlati