SpringCloud使用使用Feign文件上传、下载文件上传、下载
主要为大家详细介绍了SpringCloud使用Feign文件上传、下载功能,具有一定的参考价值,感兴趣的小伙伴们
可以参考一下
文件上传、下载也是实际项目中会遇到的场景,本篇我们介绍下springcloud中如何使用feign进行文件上传与下载。
还是使用feign 进行http的调用。
一、一、Feign文件上传文件上传
服务提供方java代码:
/**
* 文件上传
* @param file 文件
* @param fileType
* @return
*/
@RequestMapping(method = RequestMethod.POST, value = "/uploadFile",
produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},
consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String uploadFile(@RequestPart(value = "file") MultipartFile file,
@RequestParam(value = "fileType") String fileType,
HttpServletRequest request,HttpServletResponse response) {
System.out.println("fileType:"+fileType);
long size= file.getSize();
String contentType= file.getContentType();
String name = file.getName();
String orgFilename= file.getOriginalFilename();
System.out.println("size:"+size);
System.out.println("contentType:"+contentType);
System.out.println("name:"+name);
System.out.println("orgFilename:"+orgFilename);
String suffix = orgFilename.substring(orgFilename.lastIndexOf("."));//后缀
String uuid =UUID.randomUUID().toString().replaceAll("-", "").toUpperCase();
File dest = new File("f:/b13/"+uuid+suffix);
try {
file.transferTo(dest);
return dest.getCanonicalPath();//文件的绝对路径
} catch (IllegalStateException | IOException e) {
e.printStackTrace();
}
return "failure";
}
服务提供方Feign api接口:
@RequestMapping(method = RequestMethod.POST, value = "/uploadFile",
produces = {MediaType.APPLICATION_JSON_UTF8_VALUE},
consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
public String uploadFile(@RequestPart(value = "file") MultipartFile file, @RequestParam(value = "fileType") String fileType);
服务消费方:
pom.xml
<!-- 引入文件feign文件上传依赖 -->
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>io.github.openfeign.form</groupId>
<artifactId>feign-form-spring</artifactId>
<version>3.0.3</version>
</dependency>
java代码:
@Autowired
private UserProControllerApi userProControllerApi;
评论0
最新资源