@Override public String getContentType() { return fileUpload.contentType(); }
/** * @return the content type (MIME type) of the upload */ public String contentType() { String ret = delegate.contentType(); return ret; }
@Override public String getContentType() { return fileUpload.contentType(); }
/** * @return the content type (MIME type) of the upload */ public String contentType() { String ret = delegate.contentType(); return ret; }
private void testFileUpload(String uploadsDir, int size) throws Exception { String name = "somename"; String fileName = "somefile.dat"; String contentType = "application/octet-stream"; Buffer fileData = TestUtils.randomBuffer(size); router.route().handler(rc -> { Set<FileUpload> fileUploads = rc.fileUploads(); assertNotNull(fileUploads); assertEquals(1, fileUploads.size()); FileUpload upload = fileUploads.iterator().next(); assertEquals(name, upload.name()); assertEquals(fileName, upload.fileName()); assertEquals(contentType, upload.contentType()); assertEquals("binary", upload.contentTransferEncoding()); assertEquals(fileData.length(), upload.size()); String uploadedFileName = upload.uploadedFileName(); assertTrue(uploadedFileName.startsWith(uploadsDir + File.separator)); Buffer uploaded = vertx.fileSystem().readFileBlocking(uploadedFileName); assertEquals(fileData, uploaded); // the data is upload as HTML form, so the body should be empty Buffer rawBody = rc.getBody(); assertEquals(0, rawBody.length()); rc.response().end(); }); sendFileUploadRequest(fileData, 200, "OK"); }
public UploadedFileImpl(Vertx vertx, HttpServerRequest req, FileUpload fu) { this.fu = fu; this.req = req; this.vertx = vertx; this.originalName = fu.fileName(); this.fileName = fu.uploadedFileName(); this.contentType = fu.contentType(); this.size = fu.size(); }
private void processMultipart(final HttpPost request, final FileUpload fileUpload, final File file) { final ContentType contentType = ContentType.create(fileUpload.contentType()); LOGGER.info("[ ZERO ] Read file from file system: {0}", file.getAbsolutePath()); final FileBody fileBody = new FileBody(file, contentType); final MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); /* * Custom content disposition * Because Api Gateway will send the request to micro service * It means that the content-disposition must be calculated by api gateway internally * here. * Now it's working to redirect request to micro service. * Related submitted issue: * https://github.com/vert-x3/vertx-web/issues/1137 */ final String disposition = "form-data; name=\"file\"; " + "filename=\"" + fileUpload.fileName() + ""; final FormBodyPart bodyPart = FormBodyPartBuilder.create() .setName("file") .addField("Content-Type", fileUpload.contentType()) .addField("Content-Transfer-Encoding", fileUpload.contentTransferEncoding()) .addField("Content-Disposition", disposition) .setBody(fileBody) .build(); builder.addPart(bodyPart); final HttpEntity entity = builder.build(); request.setEntity(entity); }
private void processMultipart(final HttpPost request, final FileUpload fileUpload, final File file) { final ContentType contentType = ContentType.create(fileUpload.contentType()); LOGGER.info("[ ZERO ] Read file from file system: {0}", file.getAbsolutePath()); final FileBody fileBody = new FileBody(file, contentType); final MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); /* * Custom content disposition * Because Api Gateway will send the request to micro service * It means that the content-disposition must be calculated by api gateway internally * here. * Now it's working to redirect request to micro service. * Related submitted issue: * https://github.com/vert-x3/vertx-web/issues/1137 */ final String disposition = "form-data; name=\"file\"; " + "filename=\"" + fileUpload.fileName() + ""; final FormBodyPart bodyPart = FormBodyPartBuilder.create() .setName("file") .addField("Content-Type", fileUpload.contentType()) .addField("Content-Transfer-Encoding", fileUpload.contentTransferEncoding()) .addField("Content-Disposition", disposition) .setBody(fileBody) .build(); builder.addPart(bodyPart); final HttpEntity entity = builder.build(); request.setEntity(entity); }
private void checkFileUpload(TestContext context, int count, String fileName, String fieldName, String contentType, String uploadsDir, Buffer fileData) { Set<FileUpload> fileUploads = StandarRequestController.fileUploads; context.assertNotNull(fileUploads); context.assertEquals(1, fileUploads.size()); FileUpload upload = fileUploads.iterator().next(); context.assertEquals(fieldName, upload.name()); context.assertEquals(fileName, upload.fileName()); context.assertEquals(contentType, upload.contentType()); context.assertEquals("binary", upload.contentTransferEncoding()); context.assertEquals(fileData.length(), (int) upload.size()); String uploadedFileName = upload.uploadedFileName(); context.assertTrue(uploadedFileName.startsWith(uploadsDir + File.separator)); Buffer uploaded = vertx.fileSystem().readFileBlocking(uploadedFileName); context.assertEquals(fileData, uploaded); }
private void testFileUpload(String uploadsDir, int size) throws Exception { String name = "somename"; String fileName = "somefile.dat"; String contentType = "application/octet-stream"; Buffer fileData = TestUtils.randomBuffer(size); router.route().handler(rc -> { Set<FileUpload> fileUploads = rc.fileUploads(); assertNotNull(fileUploads); assertEquals(1, fileUploads.size()); FileUpload upload = fileUploads.iterator().next(); assertEquals(name, upload.name()); assertEquals(fileName, upload.fileName()); assertEquals(contentType, upload.contentType()); assertEquals("binary", upload.contentTransferEncoding()); assertEquals(fileData.length(), upload.size()); String uploadedFileName = upload.uploadedFileName(); assertTrue(uploadedFileName.startsWith(uploadsDir + File.separator)); Buffer uploaded = vertx.fileSystem().readFileBlocking(uploadedFileName); assertEquals(fileData, uploaded); // the data is upload as HTML form, so the body should be empty Buffer rawBody = rc.getBody(); assertEquals(0, rawBody.length()); rc.response().end(); }); sendFileUploadRequest(fileData, 200, "OK"); }