【问题标题】:How to upload multiple files with jodd-http?如何使用 jodd-http 上传多个文件?
【发布时间】:2019-05-22 01:30:56
【问题描述】:

如何使用 jodd HTTP 在同一个请求中上传多个文件?

我尝试了类似以下的方法,但只发布了第一个文件。

HttpRequest httpRequest = HttpRequest
        .post("http://srv:8080/api/dlapp/add-file-entry")
        .form(
            "title", "test",
            "description", "Upload test",
            "file", new File("d:\\a.jpg.zip"),
            "file", new File("d:\\b.jpg.zip")
        );

    HttpResponse httpResponse = httpRequest.send();

【问题讨论】:

  • 您是否尝试过使用不同的参数名称file,例如file1file2?
  • @igr 是的,试过file1file2 同样的效果,只有第一个文件被上传了

标签: jodd


【解决方案1】:

这是正确的代码。您只需添加文件参数:

HttpRequest httpRequest = HttpRequest.post("localhost:8173/echo")
        .form(
            "title", "test",
            "description", "Upload test",
            "file1", temp1,
            "file2", temp2
        );

不多也不少。有the testcase 可以检查这一点。

最简单的检查方法是启动,例如Wireshark 在您的本地计算机上并简单地检查请求;里面必须有两个文件块。

您的服务器端是否可能由于某种原因不接受文件?

您使用的是最新版本 (v5.0.x) 吗?

附言如果您要发送两个文件,请使用两个不同的参数名称(例如file1file2)。

【讨论】:

  • 好的,我在 jodd 版本 3.6.6,切换到当前版本,文件按预期上传 - 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-05
  • 2016-08-10
  • 2012-05-31
  • 2019-10-01
  • 2020-11-07
  • 2015-04-20
相关资源
最近更新 更多