`

Vertx上传 官网Demo Java版

阅读更多
package io.vertx.example.web.upload;

import io.vertx.core.AbstractVerticle;
import io.vertx.example.util.Runner;
import io.vertx.ext.web.FileUpload;
import io.vertx.ext.web.Router;
import io.vertx.ext.web.handler.BodyHandler;

/*
 * @author <a href="http://tfox.org">Tim Fox</a>
 */
public class Server extends AbstractVerticle {

  // Convenience method so you can run it in your IDE
  public static void main(String[] args) {
    Runner.runExample(Server.class);
  }

  @Override
  public void start() throws Exception {

    Router router = Router.router(vertx);

    // Enable multipart form data parsing
    router.route().handler(BodyHandler.create().setUploadsDirectory(System.getProperty("java.io.tmpdir")));

    router.route("/").handler(routingContext -> {
      routingContext.response().putHeader("content-type", "text/html").end(
        "<form action=\"/form\" method=\"post\" enctype=\"multipart/form-data\">\n" +
          "    <div>\n" +
          "        <label for=\"name\">Select a file:</label>\n" +
          "        <input type=\"file\" name=\"file\" />\n" +
          "    </div>\n" +
          "    <div class=\"button\">\n" +
          "        <button type=\"submit\">Send</button>\n" +
          "    </div>" +
          "</form>"
      );
    });

    // handle the form
    router.post("/form").handler(ctx -> {
      ctx.response().putHeader("Content-Type", "text/plain");

      ctx.response().setChunked(true);

      for (FileUpload f : ctx.fileUploads()) {
        System.out.println("f");
        ctx.response().write("Filename: " + f.fileName());
        ctx.response().write("\n");
        ctx.response().write("Size: " + f.size());
      }

      ctx.response().end();
    });

    vertx.createHttpServer().requestHandler(router::accept).listen(8080);
  }
}

 

分享到:
评论

相关推荐

    vertx-service-demo

    vertx-service-demo

    vertx-cluster-demo:基于Hazelcast的群集管理器的Vert.x示例

    【标题解析】 "vertx-cluster-demo"是一...通过深入学习和实践`vertx-cluster-demo`,开发者可以掌握如何在Java环境中使用Vert.x和Hazelcast构建高可用、可伸缩的分布式系统,这对于开发现代云应用具有极大的实际价值。

    vertx-core-3.9.0-API文档-中文版.zip

    标签:vertx、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    vertx-h2-httpclient-demo.zip

    解压后的`vertx-demo`目录应该包含了这些组成部分,展示了如何组织和构建一个Vert.x项目。 6. **依赖管理**: 使用Gradle或Maven等构建工具,我们可以管理项目所依赖的库,包括Vert.x核心、Web模块和H2数据库驱动。...

    vertx-web-3.9.0-API文档-中文版.zip

    标签:vertx、web、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Java vertx

    Java API 版本的Vert.x Core 手册, Java API 版本的Vert.x Core 手册, Java API 版本的Vert.x Core 手册, Java API 版本的Vert.x Core 手册, Java API 版本的Vert.x Core 手册

    vertx-web-3.9.0-API文档-中英对照版.zip

    标签:vertx、web、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。...

    vertx-core-3.9.0-API文档-中英对照版.zip

    标签:vertx、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用...

    vertx-mod-jersey-2.4.0-final.zip

    【标题】"vertx-mod-jersey-2.4.0-final.zip" 是一个基于 Vert.x 框架的 Jersey 模块的发布版本。Vert.x 是一个轻量级、高性能且反应式的 Java 开发平台,它允许开发人员构建分布式系统,而Jersey 则是 Java 世界中...

    vertx-bridge-common-3.9.0-API文档-中文版.zip

    标签:vertx、bridge、common、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    vertx-auth-common-3.9.0-API文档-中文版.zip

    标签:vertx、auth、common、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    vertx集成mybatis架构

    【描述】:“自己写的一个java+vertx+mybatis的网关、服务分发,用于app后台接口开发的基本框架,仅供参考,请不要用于商业用途。” 这个描述表明作者创建了一个基于Java、Vert.x和MyBatis的框架,该框架主要用于...

    vertx学习示例

    vertx是一个开源的、基于Java虚拟机(JVM)的轻量级框架,它以其强大的异步事件驱动模型而闻名。vert.x提供了多种编程语言的API,包括Java、JavaScript(Node.js风格)、Groovy、Rust、Kotlin等,使得开发者可以根据...

    javascript Vertx开发教程

    JavaScript Vertx开发教程 在现代Web开发中,Vert.x是一个重要的工具,它是一个轻量级、反应式的事件驱动框架,专为构建分布式系统而设计。本教程将深入探讨如何使用JavaScript来利用Vert.x的强大功能,以创建高效...

    vertx3-demo-openshift:Openshift和vertx3的简单演示

    vertx3-demo-openshift openshift和vertx3的简单演示。如何进行在OpenShift创建一个帐户将ssh密钥添加到您的帐户(或创建新密钥)。 安装Rhc工具使用命令创建“演示”应用程序: rhc create-app demo ...

    java MQTT server ,MQTT client 直接使用java实现,快速连接物联网

    基于 t-io 实现的低延迟、高性能的 mqtt 物联网组件 ... MQTT 客户端 阿里云 mqtt 连接 demo。 支持 GraalVM 编译成本机可执行程序。 支持 Spring boot 项目快速接入 基于 redis pub/sub 实现集群。

    vertx-bridge-common-3.9.0-API文档-中英对照版.zip

    标签:vertx、bridge、common、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    分布式游戏服务端 Vertx3

    分布式游戏服务端基于Vertx3的构建是一种高效、可扩展且灵活的方法,它允许开发者创建高性能的游戏后端系统。Vert.x是一个用Java语言编写的轻量级、反应式框架,适用于构建现代的、异步的、非阻塞的Web应用程序。在...

    Vertx-Web初探

    ### Vertx-Web初探 #### 一、项目概述与准备 ##### 1.1 基本项目结构 为了确保项目的顺利进行,首先需要创建一个Maven项目,并且按照以下结构组织: - 源代码包:`src/main/vertx` - 资源路径:`src/main/...

    基于Vertx实现的websocket消息服务,支持集群部署

    基于Vertx实现的websocket消息服务,支持集群部署。 启动步骤 mvn package 修改default-zookeeper.json自定义zookeeper地址。 修改default-websocket.json自定义websocket服务配置,包括: serverCode:服务名称 ...

Global site tag (gtag.js) - Google Analytics