tips:资源文件太大,采用base64 压缩图片
public class Base64StrToImage {
Logger logger = LoggerFactory.getLogger(Base64StrToImage.class);
public static MultipartFile base64MutipartFile(String imgStr){
try {
String [] baseStr = imgStr.split(",");
BASE64Decoder base64Decoder = new BASE64Decoder();
byte[] b = new byte[0];
b = base64Decoder.decodeBuffer(baseStr[1]);
for(int i = 0; i < b.length; ++i) {
if (b[i] < 0) {
b[i] += 256;
}
}
return new BASE64DecodedMultipartFile(b,baseStr[0]) ;
}catch (Exception e){
e.printStackTrace();
return null;
}
}
}
@RequestParam(required = false, value = "fileStr") String fileStr // 接收base64值(请求参数);
try {
Base64DecodedMultipartFile base64DecodedMultipartFile = null;
if(null != fileStr && !fileStr.isEmpty()){
base64DecodedMultipartFile = (Base64DecodedMultipartFile) Base64StrToImage.base64MutipartFile(fileStr);
}
List<String> stringList = null;
if (null !=base64DecodedMultipartFile && !base64DecodedMultipartFile.equals("")){
FileUploading fileUploading = new FileUploading();
stringList= fileUploading.phtoUpload(base64DecodedMultipartFile, request);
}
customerService.saveCustomer(customer, payments,stringList);
//TODO 手机短信验证码,和第三方对接
return AjaxResult.successState("注册成功", 0, "");
} catch (Exception ex) {
return AjaxResult.error(ex.getMessage());
}