java 如何取出传参数格式为form-data中的值

  • 前端传参数格式为form-data,后端如何取值,参考如下代码示例:
    public Map<String, Object> Test(HttpServletRequest request, HttpServletRequest response) throws Exception {
        Map<String, String> returnMap = new HashMap<String, String>();
        String a = request.getParameter("a");//取出form-data中a的值
        String b = request.getParameter("b");//取出form-data中a的值
        //取出form-data中的二进制字段
        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
        MultipartFile multipartFile = multipartRequest.getFile("file");//file是form-data中二进制字段对应的name
        System.out.println(multipartFile.getSize());
        Map<String, Object> resultMapsReturn = new HashMap<>();
        String imagePath = "C:\\Users\\win\\Desktop\\1.jpg"//把取出来的二进制保存图片到本地
        if (multipartFile.getSize() <= 0) {
            resultMapsReturn.put("resultcode", "0");
            resultMapsReturn.put("msg", DisWebConst.ERROR_TITLE);
        } else {
            InputStream is = multipartFile.getInputStream();

            OutputStream out = new FileOutputStream(imagePath);
            IOUtils.copy(is, out);
            is.close();
            out.close();
        }

  • 10
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
Java使用POST请求调用参格式form-data的接口可以使用Apache HttpClient库来实现。下面是一个示例代码: ```java import org.apache.http.HttpEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.ContentType; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import java.io.File; import java.io.IOException; public class FormPostRequestExample { public static void main(String[] args) throws IOException { CloseableHttpClient httpClient = HttpClients.createDefault(); HttpPost httpPost = new HttpPost("http://example.com/api"); File file = new File("file.txt"); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("file", file, ContentType.DEFAULT_BINARY, file.getName()); HttpEntity multipart = builder.build(); httpPost.setEntity(multipart); CloseableHttpResponse response = httpClient.execute(httpPost); HttpEntity responseEntity = response.getEntity(); System.out.println("Response status: " + response.getStatusLine()); System.out.println(EntityUtils.toString(responseEntity)); httpClient.close(); } } ``` 在上述代码,我们创建了一个CloseableHttpClient实例,并构造了一个HttpPost对象来表示我们要访问的API的URL。我们还创建了一个File对象来表示我们要上传的文件。 接下来,我们使用MultipartEntityBuilder类来构造一个包含文件数据的HttpEntity对象。我们将文件数据添加到MultipartEntityBuilder实例,然后将其构建为HttpEntity实例,并将其设置为HttpPost对象的实体。 最后,我们使用HttpClient实例来执行HttpPost请求,并将响应数据打印到控制台上。 请注意,上述示例代码仅适用于上传文件的情况。如果您需要向API发送其他类型的数据,请根据API文档提供的信息构造正确的HttpEntity对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑乀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值