restTemplate 发送 MultiValueMap 中文乱码 (FormHttpMessageConverter 编码方式)

时间:2019-04-04 00:24:42   收藏:0   阅读:1039

 =====================================

// 设置 restTemplate FormHttpMessageConverter 编码方式


@Configuration
public class RestTemplateConfig {


@Bean
RestTemplate restTemplate(){

SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
requestFactory.setConnectTimeout(60000);
requestFactory.setReadTimeout(60000);


RestTemplate restTemplate = new RestTemplate(requestFactory);

// 设置 restTemplate FormHttpMessageConverter 编码方式
for (HttpMessageConverter<?> httpMessageConverter : list) {
if(httpMessageConverter instanceof FormHttpMessageConverter) {
((FormHttpMessageConverter) httpMessageConverter).setCharset(Charset.forName(StandardCharsets.UTF_8.toString()));
}
}
restTemplate.setMessageConverters(list);

return restTemplate;
}

}

 

==============================

@Service

public class FileService implements IFileService{

@Autowired
private RestTemplate restTemplate;

@Override
public void uploadFile(MultipartFile file) throws IOException {

ByteArrayResource byteArrayResource = new ByteArrayResource(file.getBytes()) {
@Override
public String getFilename() {
return file.getOriginalFilename();
};
};

MultiValueMap<String, ByteArrayResource> map = new LinkedMultiValueMap<String, ByteArrayResource>();
map.add("file", byteArrayResource);

restTemplate.postForEntity("http://localhost:8066/file/upload", map, String.class);

}
}

 

 

 

技术分享图片

 

技术分享图片

 

https://blog.csdn.net/w522301629/article/details/81128630

技术分享图片

 

原文:https://www.cnblogs.com/badboyh2o/p/10652455.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!