欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-28 10:20:03
// 设置 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 编码方式
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);

}
}

 

 

 

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

 

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

 

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