J'essaye de télécharger un fichier en utilisant Vertx, la requête est une requête POST qui contient un PDF, mon gestionnaire ressemble à ceci (j'ai pris le code d'un exemple dans github):Envoyer un fichier à vertx eventbus
...
Set<FileUpload> fileUploadSet = routingContext.fileUploads();
Iterator<FileUpload> fileUploadIterator = fileUploadSet.iterator();
while (fileUploadIterator.hasNext()) {
FileUpload fileUpload = fileUploadIterator.next();
// Use the Event Bus to dispatch the file now
// Since Event Bus does not support POJOs by default so we need to create a MessageCodec implementation
// and provide methods for encode and decode the bytes
...
vertx.eventBus().<"what to use here?">send(Address.UPLOAD_FILE, "", result -> {
if (result.succeeded()) {
req.response()
.setStatusCode(200)
.write(result.result().body())
.end();
} else {
logger.info(result.cause().toString());
req.response()
.setStatusCode(500)
.write(result.cause().toString())
.end();
}
});
Selon le commentaire ci-dessus, je ne peux pas juste essayer quelque chose comme ça (il montre en fait une erreur):
vertx.eventBus().<FileUpload>send(Address.UPLOAD_FILE, "", result -> {
J'ai vérifiais MessageCodec mais ce n'est pas clair pour moi comment l'appliquer pour ce cas.
Note: l'utilisation du bus d'événement est un must pour cet escenario.