首页 > 解决方案 > restTemplate 调用,其中函数的参数是 MultipartHttpServletRequest 请求

问题描述

嗨,我必须调用 resttemplate 来调用以下函数,其中参数是 MultiPartHttpServletRequest 请求、HttpServletRequest requestForm、HttpServletResponse 响应

Map<String, String> upload(MultipartHttpServletRequest request,
                                       HttpServletRequest requestForm, HttpServletResponse response, @RequestParam("name") String name,
                                       @RequestParam("id") String id,
                                       @RequestParam(value = "contanctno", required = false, defaultValue = Constants.DIGITS) String contactNo,
                                       @RequestParam(value = "address", required = false,) String address) throws InvalidReqException

除此之外,问题是我有要发送的文件,但是如何发送该特定文件以及名称 version.pdf 版本总是在变化。有人可以帮我吗

请求方法 = POST

标签: javaspringspring-bootspring-mvc

解决方案


假设您要将新文件以新名称保存在硬盘上,您可以添加MultipartFileas 参数并将文件内容从上传的文件复制到磁盘上的新文件中:

Map<String, String> upload(MultipartHttpServletRequest request,
    HttpServletRequest requestForm, HttpServletResponse response, @RequestParam("name") String name,
    @RequestParam("id") String id,
    @RequestParam(value = "contanctno", required = false, defaultValue = Constants.DIGITS) String contactNo,
    @RequestParam(value = "address", required = false) String address,
    @RequestParam("file") MultipartFile file) throws InvalidReqException {

    String newFileName = "newFileName.pdf";
    File newPdf = new File(newFileName);
    Files.copy(file.getInputStream(), newPdf.toPath());

    // more code...
}

推荐阅读