JavaSpringWebFlux多部分文件上传

uqdfh47h  于 2021-07-23  发布在  Java
关注(0)|答案(1)|浏览(402)

我试着用一张图片做一个简单的post请求。但它不起作用。
我的html发布表单数据(多部分/表单数据):

  1. book[0].cover = 123.jpg; <--- upload file image
  2. book[0].title = "title 123";
  3. book[0].author = "123"
  4. book[1].cover = abc.jpg;
  5. book[1].title = "title abc";
  6. book[1].author = "abc"

restapi图像

  1. curl -X POST http://127.0.0.1/book/postCreate \
  2. -H 'Content-Type: multipart/form-data' \
  3. -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'

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

  1. public Mono<ServerResponse> postCreate(ServerRequest request) {
  2. Flux<Book> book = request.bodyToFlux(Book.class); // error
  3. // How can I get the data of the form ?
  4. }
  5. class Book {
  6. FilePart cover;
  7. String title;
  8. String author;
  9. }

如何获取表格的数据?

vwhgwdsa

vwhgwdsa1#

我并不擅长java,但是当我进入VisualStudio代码并输入它时,它会给我一些错误。

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

首先,上传拼写错误,这可能就是原因。当我在visualstudio代码中单击单词“file”时,它只会变为“file”而不是“file”。我认为资本化是这里的问题,但我不擅长java。
就像我说的,我对java不太流利,因为我编写python代码,有时编写javascript代码,但我从未见过这样的错误。

相关问题