Skip to content

File/FileUpload as parameters

1. Source Code

EndPoint Code

package up.god.apollo.exp6;

import io.vertx.core.json.JsonObject;
import io.vertx.up.annotations.Codex;
import io.vertx.up.annotations.EndPoint;

import javax.ws.rs.POST;
import javax.ws.rs.Path;
import jakarta.ws.rs.StreamParam;
import java.io.File;

@EndPoint
@Path("/exp6/")
public class FileUpload {

    @POST
    @Path("/upload")
    public JsonObject upload(@Codex @StreamParam final File file) {
        System.out.println(file.getAbsoluteFile());
        return null;
    }
}

2. Points

Be careful about the parameter annotation, the file uploading parameter must be annotated with @StreamParam,It's for binary mode to get all bytes data from client. Now the parameter type support java.io.File and io.vertx.ext.web.FileUpload,but we recommend use FileUpload type instead of java.io.File because this object contains many metadata information such as filename, filesize etc.

`