feign之间调用上传文件接口报错Current request is not a multipart request

在使用feign调用上传文件接口时候需要注意请求头设置
(1)在消费端的控制器进行调用feign时的操作

   @PostMapping(value="/uploadAppeal",consumes = MediaType.MULTIPART_FORM_DATA_VALUE,produces =  MediaType.APPLICATION_PROBLEM_JSON_VALUE)
    public R<?> uploadFile(@RequestPart MultipartFile file){

        return remoteFileService.sftpUpload(file);
    }

@RequestPart注解的含义:
1.@RequestPart这个注解用在multipart/form-data表单提交请求的方法上。
2.支持的请求方法的方式MultipartFile,属于Spring的MultipartResolver类。这个请求是通过http协议传输的。

(2)在生产端的控制器上的操作

	@PostMapping("/sftp/upload")
	@ApiOperation(value = "上传文件", notes = "上传文件")
	public R sftpUpload(@RequestParam("file") MultipartFile file) {

		return R.ok(sysFileService.sftpUploadFile(file));
	}

该处和平常一样,无需处理

(3)在feign上的操作

    @PostMapping(value = "/sys-file/sftp/upload",consumes = MediaType.MULTIPART_FORM_DATA_VALUE,produces =  MediaType.APPLICATION_PROBLEM_JSON_VALUE)
     R sftpUpload(@RequestPart("file") MultipartFile file);

不管是在生产端的feign也好还是在消费端的控制器上也好,一定需要注意consumes和produces的配置。
该处配置了org.springframework.http.MediaType下的常量值,该值的内容是multipart/form-data。

在该处设置了以后,Content-Type则是multipart/form-data,因为文件上传需要该类型

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值