Example usage for io.vertx.core.http HttpServerFileUpload contentType

List of usage examples for io.vertx.core.http HttpServerFileUpload contentType

Introduction

In this page you can find the example usage for io.vertx.core.http HttpServerFileUpload contentType.

Prototype

String contentType();

Source Link

Usage

From source file:fr.wseduc.rack.controllers.RackController.java

License:Open Source License

private Handler<HttpServerFileUpload> getUploadHandler(final Buffer fileBuffer, final JsonObject metadata,
        final HttpServerRequest request) {
    return new Handler<HttpServerFileUpload>() {
        @Override//from ww  w .  ja  v  a  2s  .c  o  m
        public void handle(final HttpServerFileUpload upload) {
            upload.handler(new Handler<Buffer>() {
                @Override
                public void handle(Buffer data) {
                    fileBuffer.appendBuffer(data);
                }
            });
            upload.endHandler(new Handler<Void>() {
                @Override
                public void handle(Void v) {
                    metadata.put("name", upload.name());
                    metadata.put("filename", upload.filename());
                    metadata.put("content-type", upload.contentType());
                    metadata.put("content-transfer-encoding", upload.contentTransferEncoding());
                    metadata.put("charset", upload.charset());
                    metadata.put("size", upload.size());
                    if (metadata.getLong("size", 0l).equals(0l)) {
                        metadata.put("size", fileBuffer.length());
                    }

                    if (storage.getValidator() != null) {
                        request.pause();
                        storage.getValidator().process(metadata, new JsonObject(),
                                new Handler<AsyncResult<Void>>() {
                                    @Override
                                    public void handle(AsyncResult<Void> voidAsyncResult) {
                                        if (voidAsyncResult.succeeded()) {
                                            request.resume();
                                        } else {
                                            badRequest(request, voidAsyncResult.cause().getMessage());
                                            return;
                                        }
                                    }
                                });
                    }
                }
            });
        }
    };
}

From source file:org.entcore.common.storage.impl.GridfsStorage.java

License:Open Source License

public static JsonObject metadata(HttpServerFileUpload upload) {
    JsonObject metadata = new JsonObject();
    metadata.put("name", upload.name());
    metadata.put("filename", upload.filename());
    metadata.put("content-type", upload.contentType());
    metadata.put("content-transfer-encoding", upload.contentTransferEncoding());
    metadata.put("charset", upload.charset());
    metadata.put("size", upload.size());
    return metadata;
}

From source file:org.entcore.common.storage.impl.GridfsStorage.java

License:Open Source License

@Override
public void writeUploadFile(HttpServerRequest request, Long maxSize, Handler<JsonObject> handler) {
    request.setExpectMultipart(true);/*w w w .  j  a v  a2s.  co m*/
    request.uploadHandler(new Handler<HttpServerFileUpload>() {
        @Override
        public void handle(final HttpServerFileUpload event) {
            final Buffer buff = Buffer.buffer();
            event.handler(new Handler<Buffer>() {
                @Override
                public void handle(Buffer event) {
                    buff.appendBuffer(event);
                }
            });
            event.endHandler(new Handler<Void>() {
                @Override
                public void handle(Void end) {
                    writeBuffer(null, buff, maxSize, event.contentType(), event.filename(), metadata(event),
                            handler);
                }
            });
        }
    });
}