使用 unirest 库在 Post 请求中将文件作为表单数据正文发送

如何解决使用 unirest 库在 Post 请求中将文件作为表单数据正文发送

我正在尝试使用 unirest 库在发布请求中完成发送文件。 这是 Postman 的工作卷曲:

curl --location --request POST 'https://k9.testing.rs/apI/Org/v1/invoice/send/file?pibSender=105622807&pibReceiver=106946734&contactName=Nenad&contactEmail=something@gmail.com' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6IjBiODA1ZmE5Zjc2ZjUyY2QzMTVmNmIyZDc2NDVlMmVmNzRhMzdmNjhiNDA1NWM5MjFjMTM5NzFlYzcyMmFkODc1ZTY1YTQxMmE1ZTQwMzYyIn0.eyJhdWQiOiIxIiwianRpIjoiMGI4MDVmYTlmNzZmNTJjZDMxNWY2YjJkNzY0NWUyZWY3NGEzN2Y2OGI0MDU1YzkyMWMxMzk3MWVjNzIyYWQ4NzVlNjVhNDEyYTVlNDAzNjIiLCJpYXQiOjE2MTY3ODI1OTgsIm5iZiI6MTYxNjc4MjU5OCwiZXhwIjoxNjQ4MzE4NTk4LCJzdWIiOiIxIiwic2NvcGVzIjpbXSwidXNlcm5hbWUiOiJqb3ZhbmEudGVzdDExN0BwYXJhZ3JhZi5ycyJ9.HUk-r0SPs99Ty9_PJO11ytao0C0uZ6R1mhn2kgnwrf-dNJryp975uNumPhxUqRDmEJXrGvXg9JYkV55N00-Cn9rTI9S-Y8s-e8jN12sUC4hlT6nJz4ABXJqPPAz-pVbwJ0qC48zp6Xov1IZYBQEskQQsIbvLrrG6sxSZg-iPn-FAtKXYOql-sY0R8ZCNJWOpaZBknh4YmX-g4a5xNkZJnmqf2fpUM3D4KzfxuLry95dqih0Gi17zJqSCfjpwzLBvkdisesgeYNLYIEAPNi4Tf-68i1kyYz-i4XnagQlBb0YHCtgEMyxiS9IuueFON4V4BN6WUWYuYhtAFWzUE7S1oW-pfQMqY-0Fn7KrtaMdUcslodpCTYqzoosDg1u_i20O37jD044Z7AWH6-IJfWqo2rziWHPW9s-_94dExJF1V6N-NRbK2QPh2H8LzmQIM2kcoYo-jikmAY3EPJj4-6rniopzon4gwKH7F_xoOiwtT1-sMIeh-3KtVVYoH3tMv5eRojA4EG-xWw3UPwfGwqPBnuzn2B6K_3gmtpmT0sDTtr7ljfJywZOeMDWf16vVVm_DEjnUR56OU_HPSFkUqKRdyi0LUOrQzxrNHgfVsWtB85FWIpvGEWSCTJi2YiADpM5N0JAHSCfqK3e3hp3U8OwipQTKKWexXaaGU-fYjzTXWNc' \
--header 'Cookie: session=wprR8vrO0Gq0aN0wk7Mf1H5bC2TYMJzKXsOYRfPB' \
--form 'file=@"someFile.pdf"'

我尝试了基本示例但没有成功,每次我收到请求中不存在文件的响应(当正文中没有文件时,这与邮递员中的响应相同)。 如何使用 unirest 实现这一点,应该很简单。

这是我尝试过的,但不起作用:

CompletableFuture<HttpResponse<SendInvoiceResponse>> future = Unirest.post("https://k9.test.rs/apI/Org/v1/invoice/send/file")
                        .header("accept","application/json")
                        .header("Content-Type","application/pdf")
                        .header("Authorization","Bearer " + token)
                        .queryString("senderPib","105622807")
                        .queryString("receiverPib","106946734")
                        .queryString("contactName","test")
                        .queryString("contactEmail","test@gmail.com")
                        .field("file",new File(filePath))
                    .asObjectAsync(SendInvoiceResponse.class,new Callback<SendInvoiceResponse>() {      
                       public void Failed(UnirestException e) {
                           logger.info("The request has Failed");
                       }
     
                       public void completed(HttpResponse<SendInvoiceResponse> response) {
                           int code = response.getStatus();
                           Headers headers = response.getHeaders();
                           SendInvoiceResponse body = response.getBody();
                       }
     
                       public void cancelled() {
                           logger.info("The request has been cancelled");
                       }
                });

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?