• 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-web轻松处理文件上传:

    router.route().handler(BodyHandler.create());
    
    router.post("/some/path/uploads").handler(routingContext -> {
    
        Set<FileUpload> uploads = routingContext.fileUploads();
        // Do something with uploads....
    });

    而且,您将利用路由功能,甚至可以提供诸如index.html之类的静态文件

  • 相关阅读:
    sql server日志已满报错
    图片基础信息
    android小细节
    内存泄露分析
    一个非常快的android模拟器
    activity退出
    ListView中内容的动画效果
    视频相关android软件
    Android Screen Monitor抓取真机屏幕
    ListView中使用type需要注意的东西
  • 原文地址:https://www.cnblogs.com/endv/p/12077295.html
Copyright © 2020-2023  润新知