Vertx FileUpload 上传不带扩展名的文件

Vertx FileUpload uploads file without extension

我正在使用 vertx-web 并尝试上传文件。这是我的代码:

router.route().handler(BodyHandler.create().setUploadsDirectory("some/path/uploads"));
router.post("/api/upload").handler(routingContext -> {
    for(FileUpload f : routingContext.fileUploads()){
      System.out.println(f.fileName()); // logo.png
    }
    routingContext.response().end()
});

以上代码,将文件上传到给定路径,但上传的文件扩展名丢失。

文件上传名称:logo.png

文件保存名:45edd7b4-5287-4fba-927e-f256f4b09aea

我希望上传的文件扩展名和内容类型保持原样。

您无法配置 BodyHandler 来执行此操作。它使用唯一标识符的原因是为了避免名称冲突。

您可以将文件移动到另一个具有适当名称的目录。