本文共 2509 字,大约阅读时间需要 8 分钟。
1.服务端MultipartFile这个类型的参数要用@RequestPart(“file”) 这个注解
@PostMapping("/uploadMultipleFile") public Result uploadImg(@RequestPart("file") MultipartFile[] files){ try { return uploadService.uploadImg(files); }catch (Exception e){ log.info("文件上传异常"+ ExceptionUtils.getStackTrace(e)); return new Result(ResultCode.FAIL,"文件上传异常"); } }
2.调用端加入如下坐标
io.github.openfeign.form feign-form 3.8.0 io.github.openfeign.form feign-form-spring 3.8.0 org.springframework.cloud spring-cloud-starter-openfeign
3.加入配置类
import feign.codec.Encoder;import feign.form.spring.SpringFormEncoder;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.context.annotation.Primary;import org.springframework.context.annotation.Scope;@Configurationpublic class MultipartSupportConfig { @Bean @Primary @Scope("prototype") public Encoder multipartFormEncoder() { return new SpringFormEncoder(); } @Bean public feign.Logger.Level multipartLoggerLevel() { return feign.Logger.Level.FULL; }}
4.调用端feign接口
import com.qianxian.common.util.Result;import com.qianxian.user.config.MultipartSupportConfig; import org.springframework.cloud.openfeign.FeignClient;import org.springframework.http.MediaType;import org.springframework.web.bind.annotation.*;import org.springframework.web.multipart.MultipartFile;/** * 上传接口 * @author yyj */@FeignClient(name="ldd-upload",configuration = MultipartSupportConfig.class)public interface UploadControllerFeign { /** * 图片上传 * @param files * @return */ @RequestMapping(method = RequestMethod.POST, value = "/uploadMultipleFile",consumes = MediaType.MULTIPART_FORM_DATA_VALUE) Result uploadImg(@RequestPart("file") MultipartFile[] files);}
5.controller层调用
@PostMapping("/uploadMultipleFile") public Result uploadImg(@RequestPart("file") MultipartFile[] files){ try { return uploadControllerFeign.uploadImg(files); }catch (Exception e){ log.info("文件上传异常"+ ExceptionUtils.getStackTrace(e)); return new Result(ResultCode.FAIL,"文件上传异常"); } }
转载地址:http://lduq.baihongyu.com/