项目需要用json传base64到后端,后端把base64转成图片,json格式如下:
{
"image":"base64..."
}
用的是POST请求,但传到后端后base64的字符发生了变化,导致无法转成图片,发生的变化如下,第一个是正常的,第二个是发生的
正常:
传到后端获取结果:
如果不用json,用www-form表单形式传过去就正常
我用我自己搭建的spring项目传过去,是没有问题的,但是项目里就不行,这是什么原因?
代码如下,这是一个前置的接口拦截:
@WeaReplaceBefore(value = "/api/hrm/resful/synHrmresource",description = "拦截人员同步接口,同步人员信息",order = 1)
public void before(WeaBeforeReplaceParam param){
BufferedReader streamReader = null;
try {
streamReader = new BufferedReader(new InputStreamReader(param.getRequest().getInputStream()));
} catch (IOException e) {
throw new RuntimeException(e);
}
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
try {
while ((inputStr = streamReader.readLine()) != null) {
responseStrBuilder.append(inputStr);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
String params = responseStrBuilder.toString();
Gson gson = new Gson();
Map paramMap2 = gson.fromJson(params, (Type) Map.class);
String base64 = Util.null2String(paramMap2.get("base64"));
}