今天用RestTemplate上传图片,在这里分享下。
同事定义的接收类型为MultipartFile,这是spring的对文件上传的一个组件。
我现在做的是跟以前的系统对接,图片上传之后使用BASE64处理的,所以我这里是使用BASE64对数据解码,然后处理。先看代码:
Controller的主代码:
public Object upload(String image){
// FileSystemResource fileResource = new FileSystemResource(new File("d://image"));
BASE64Decoder decoder=new BASE64Decoder();
// byte[] rawBytes = utils.File2byte("d://test.png");//将图片转为byte[]
byte[] rawBytes=decoder.decodeBuffer(image);
String suffix=utils.getSuffix(rawBytes);//获取图片的后缀名,也可以是其他任意文件名
String fileName="myImage"+suffix;//
ByteArrayResource fileResource = new ByteArrayResource(rawBytes) {
@Override
public String getFilename() {
return fileName;
}
};
MultiValueMap<String,Object> postParameters=new LinkedMultiValueMap<String,Object>();
postParameters.add("file