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

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

Introduction

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

Prototype

@Override
    HttpServerFileUpload handler(Handler<Buffer> handler);

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  w  w w . j  a va 2 s.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:info.freelibrary.pairtree.s3.S3Client.java

License:Open Source License

/**
 * Uploads the file contents to S3./*from   w  ww  . jav  a 2s .c o m*/
 *
 * @param aBucket An S3 bucket
 * @param aKey An S3 key
 * @param aUpload An HttpServerFileUpload
 * @param aHandler An upload response handler
 */
public void put(final String aBucket, final String aKey, final HttpServerFileUpload aUpload,
        final Handler<HttpClientResponse> aHandler) {
    final S3ClientRequest request = createPutRequest(aBucket, aKey, aHandler);
    final Buffer buffer = Buffer.buffer();

    aUpload.endHandler(event -> {
        request.putHeader(HttpHeaders.CONTENT_LENGTH, String.valueOf(buffer.length()));
        request.end(buffer);
    });

    aUpload.handler(data -> {
        buffer.appendBuffer(data);
    });
}

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);//from   w  ww  .j  a v  a  2  s  . c o 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);
                }
            });
        }
    });
}

From source file:org.wisdom.framework.vertx.file.MixedFileUpload.java

License:Apache License

/**
 * Checks whether we exceed the max allowed file size.
 *
 * @param newSize the expected size once the current chunk is consumed
 * @param maxSize the max allowed size.//from www. ja v  a2  s  .  c  om
 * @param upload  the upload
 */
private void checkSize(long newSize, long maxSize, HttpServerFileUpload upload) {
    if (maxSize >= 0 && newSize > maxSize) {
        upload.handler(null);
        report(new IllegalStateException("Size exceed allowed maximum capacity"));
    }
}