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

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

// 设置 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

猜你喜欢

转载自www.cnblogs.com/badboyh2o/p/10652455.html
今日推荐