List of usage examples for io.vertx.core.http HttpServerFileUpload size
long size();
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/* w w w . ja v a 2 s. co 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.FileStorage.java
License:Open Source License
@Override public void writeUploadFile(final HttpServerRequest request, final Long maxSize, final Handler<JsonObject> handler) { request.pause();/*from ww w. j av a2s .c om*/ final String id = UUID.randomUUID().toString(); final String path; final JsonObject res = new JsonObject(); try { path = getPath(id); } catch (FileNotFoundException e) { handler.handle(res.put("status", "error").put("message", "invalid.path")); log.warn(e.getMessage(), e); return; } request.setExpectMultipart(true); request.uploadHandler(new Handler<HttpServerFileUpload>() { @Override public void handle(final HttpServerFileUpload upload) { request.pause(); final JsonObject metadata = FileUtils.metadata(upload); if (validator != null) { validator.process(metadata, new JsonObject().put("maxSize", maxSize), new Handler<AsyncResult<Void>>() { @Override public void handle(AsyncResult<Void> event) { if (event.succeeded()) { doUpload(upload, metadata); } else { handler.handle(res.put("status", "error").put("message", event.cause().getMessage())); } } }); } else { doUpload(upload, metadata); } } private void doUpload(final HttpServerFileUpload upload, final JsonObject metadata) { upload.endHandler(new Handler<Void>() { @Override public void handle(Void event) { if (metadata.getLong("size") == 0l) { metadata.put("size", upload.size()); if (maxSize != null && maxSize < metadata.getLong("size", 0l)) { handler.handle(res.put("status", "error").put("message", "file.too.large")); try { fs.delete(getPath(id), new Handler<AsyncResult<Void>>() { @Override public void handle(AsyncResult<Void> event) { if (event.failed()) { log.error(event.cause().getMessage(), event.cause()); } } }); } catch (FileNotFoundException e) { log.error(e.getMessage(), e); } } } handler.handle(res.put("_id", id).put("status", "ok").put("metadata", metadata)); scanFile(path); } }); upload.exceptionHandler(new Handler<Throwable>() { @Override public void handle(Throwable event) { handler.handle(res.put("status", "error")); log.error(event.getMessage(), event); } }); upload.streamToFileSystem(path); } }); mkdirsIfNotExists(id, path, new Handler<AsyncResult<Void>>() { @Override public void handle(AsyncResult<Void> event) { if (event.succeeded()) { request.resume(); } else { handler.handle(res.put("status", "error")); log.error(event.cause().getMessage(), event.cause()); } } }); }
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; }