// 設置 restTemplate FormHttpMessageConverter 編碼方式 @Configurationpublic class RestTemplateConfig { @Bean RestTemplate restTemplate(){ SimpleClientHttpRe ...
=====================================
// 設置 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 編碼方式
List<HttpMessageConverter<?>> list = restTemplate.getMessageConverters();
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