【问题标题】:Java Spring WebFlux Multipart File UploadJava Spring WebFlux 多部分文件上传
【发布时间】:2021-05-12 20:08:27
【问题描述】:

我正在尝试使用图像进行简单的后期请求。但它不起作用。

我的 html 发布表单数据(multipart/form-data):

book[0].cover = 123.jpg;  <--- upload file image
book[0].title = "title 123";
book[0].author = "123"

book[1].cover = abc.jpg;
book[1].title = "title abc";
book[1].author = "abc"

restapi image

curl -X POST http://127.0.0.1/book/postCreate \
    -H 'Content-Type: multipart/form-data' \
    -d 'book%5B0%5D.file=[$file.30378169-jpg]&book%5B0%5D.title=title%20123&book%5B0%5D.author=author%20123&book%5B1%5D.file=[$file.30378190-jpg]&book%5B1%5D.title=title%20abc&book%5B0%5D.author=author%20abc'

我的控制器方法设置如下:

public Mono<ServerResponse> postCreate(ServerRequest request) {
    Flux<Book> book = request.bodyToFlux(Book.class);  // error
    // How can I get the data of the form ?
}

class Book {
    FilePart cover;
    String title;
    String author;
}

如何获取表单的数据?

【问题讨论】:

    标签: java spring file-upload


    【解决方案1】:

    我不是最擅长 java,但是当我进入 Visual Studio 代码并输入它时,它给了我一些错误。

    book[0].cover = 123.jpg;  <--- uplaod file image
    book[0].title = "title 123";
    book[0].author = "123"
    
    book[1].cover = abc.jpg;
    book[1].title = "title abc";
    book[1].author = "abc"
    

    首先,upload 拼写错误,这可能就是原因。当我在 Visual Studio 代码中单击“文件”一词时,它只会更改为“文件”而不是“文件”。我认为大写是这里的问题,但我不会流利地使用 java。

    就像我说的,我不精通 java,因为我编写了 python 和 JavaScript,但我从未见过这样的错误。

    【讨论】:

    • 嗨!这是html表单数据示例
    猜你喜欢
    • 2021-08-30
    • 2022-01-21
    • 2014-10-31
    • 2017-11-05
    • 2014-05-01
    • 1970-01-01
    • 2019-11-08
    • 2012-04-10
    • 1970-01-01
    相关资源
    最近更新 更多