西门刮风 2018-11-17 03:03 采纳率: 0%
浏览 4435
已结题

feign MultipartFile fastdfs跨服务调用文件上传

基本情况是:
不是通过浏览器请求,是微服务中在服务启动后自动把制定目录下的文件,通过feign调用文件上传接口,将文件保存到服务器。
参考了各位的建议之后,还是报相同的错误。
贴出一段idea中的异常信息:
feign.FeignException: status 500 reading RemoteFdfsService#fdfsUpload(MultipartFile); content:
{"msg":"Current request is not a multipart request","code":1,"data":null}
at feign.FeignException.errorStatus(FeignException.java:60)
at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:89)
at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:143)
at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:77)
at feign.hystrix.HystrixInvocationHandler$1.run(HystrixInvocationHandler.java:107)
at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:302)
at com.netflix.hystrix.HystrixCommand$2.call(HystrixCommand.java:298)
at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:46)
at rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)

调用部分代码(接口需要的是MultipartFile的文件参数)
String filePath = "F:\mac\pic\20181113184344_type[0]_ItsPlate.jpg";
File file = new File(filePath);
FileInputStream fileInputStream = new FileInputStream(file);
MultipartFile multipartFile = new MockMultipartFile(file.getName(), fileInputStream);
String url = remoteFdfsService.fdfsUpload(multipartFile);

feign:
@FeignClient(value = ServiceNameConstant.FDFS_SERVICE,
configuration = RemoteFdfsService.MultipartSupportConfig.class,
fallbackFactory = RemoteFdfsServiceFallbackFactory.class)
public interface RemoteFdfsService {

/**
 * 上传图片并且生成缩略图
 * @param file
 * @return
 */
@PostMapping(value = "/fdfs/upload_image", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
String fdfsUploadImage(@RequestPart(value = "file") MultipartFile file);



/**
 * 引用配置类MultipartSupportConfig.并且实例化
 */
@Configuration
class MultipartSupportConfig {
    @Bean
    public Encoder feignFormEncoder() {
        return new SpringFormEncoder();
    }
}

}
烦请各路上仙指点一二,多谢。

  • 写回答

1条回答 默认 最新

  • devmiao 2018-11-17 06:49
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号