美文网首页
java-restTemplate包含File表单提交

java-restTemplate包含File表单提交

作者: 极简_Fengzt | 来源:发表于2019-05-18 17:14 被阅读0次

public Map<String, Object> createFace(Map map) {

    logger.info("新增G3人脸 map={}", map);

    String url =bash_url +create_face_url;

    File imageFile =null;

    Map response;

    try {

        HttpHeaders headers = getHttpHeaders(map);

        headers.setContentType(MediaType.MULTIPART_FORM_DATA);

        MultiValueMap<String,Object> params =new LinkedMultiValueMap<>();

        params.add("name", map.get("name"));

        params.add("group", map.get("group"));

        params.add("phone", map.get("phone"));

        params.add("type", map.get("type"));

        imageFile = getFileByUrl((String) map.get("avatar"), "jpg");

        FileSystemResource resource =new FileSystemResource(imageFile);

        params.add("avatar", resource);

        params.add("section", map.get("section"));

        if ("2".equals(map.get("type"))) {

            params.add("enabledAt", map.get("enabledAt"));

            params.add("disabledAt", map.get("disabledAt"));

        }

        HttpEntity<MultiValueMap<String,Object>> request =new HttpEntity<>(params, headers);

        String body =restTemplateComponent.requestForm(url, request);

        response =objectMapper.readValue(body, Map.class);

        if (response ==null) throw new HttpServiceRuntimeException(HttpStatus.BAD_REQUEST, "远程调用失败", "新增G3人脸失败");

        logger.info("新增G3人脸成功");

        return response;

    } catch (Exception e) {

        logger.error("新增G3人脸异常", e);

        throw new HttpServiceRuntimeException(HttpStatus.BAD_REQUEST, "新增G3人脸异常", e.getMessage());

    } finally {

        if (imageFile !=null && imageFile.exists()) {

            imageFile.delete();

            logger.info("成功删除临时文件 file={}", imageFile);

        }

}

}

public  String requestForm(String url, HttpEntity<MultiValueMap<String,Object>> request) {

    logger.info("request_form_url={}", url);

    ResponseEntity<String> responseEntity =restTemplate.postForEntity( url, request, String.class);

    Boolean isSuccessful = responseEntity.getStatusCode().is2xxSuccessful();

    logger.info("isSuccessful_form={}", isSuccessful);

    return isSuccessful ? responseEntity.getBody() :null;

}

相关文章

  • java-restTemplate包含File表单提交

    public Map createFace(Map map) { logger.info("新增G3人脸 m...

  • HttpClient的一些操作

    HttpClient4提交表单(包含文件) HttpPost 设置编码 HttpClient3提交表单(包含文件)...

  • SpringMVC 原理与实战 (第三篇) 组件篇

    1 Spring-mvc 文件上传 三要素 表单项type="file" 表单的提交方式是post 表单的enct...

  • HTML表单的用法

    简介 HTML表单是一个包含表单元素的区域,用来收集用户输入的内容并提交。 的常用属性: action :表单提交...

  • 上传多个文件的问题

    首先看你上传是用的input 表单上传 如果上传多个文件 就用多个input (file) 提交 核心点就是提交的...

  • 使用jquery.form.js实现文件上传及进度条前端代码

    1、背景 ajax的表单提交只能提交data数据到后台,没法实现file文件的上传还有展示进度功能,这里用到for...

  • html表单

    一、表单 表单元素为,表单中可以包含多项表单元素(又称输入域),表单元素之间不能进行嵌套。为了将信息正确提交到服...

  • HTML表单

    一、表单 表单元素为,表单中可以包含多项表单元素(又称输入域),表单元素之间不能进行嵌套。为了将信息正确提交到服...

  • HTML From表单的用法

    HTML表单目的 HTML表单通过form标签来实现,主要用于收集用户提交的信息,表单是一个包含表单元素的区域,用...

  • html表单的使用方法

    html表单是一个包含表单元素的区域,用来收集用户输入的内容并提交,表单使用 标签设置。 1.表单属性 actio...

网友评论

      本文标题:java-restTemplate包含File表单提交

      本文链接:https://www.haomeiwen.com/subject/vbitzqtx.html