我们公司的版本本来是1.2.2,我将POM里面的版本改为了1.3.3,然后测试类Mockito报错,我添加了Mockito依赖,发现了上传图片失败的问题。
这个项目的前端是用原生AJAX,我打了断点,发现根本没进图片的那个Controller。。
POM:
4.0.0
org.springframework.boot
spring-boot-starter-parent
1.3.3.RELEASE
前端: $(document).ready(function () {
$("#upload_img").click(function(){
$("#uploadImgLinkage").click();
});
$("#uploadImgLinkage").change(function(){
var r = null;
if(window.XMLHttpRequest){
r = new XMLHttpRequest();
}else if(window.ActiveXObject){
r = new ActiveXObject("Microsoft.XMLHttp");
};
/*******************************************回调函数*******************************************/
r.onreadystatechange = function(){
if(r.readyState == 4){
$("#uploadImgLinkage").val("");
/*--------------------------1,状态码 200 执行成功--------------------------*/
if(r.status == 200){
var results = r.responseText;
$(".canvas").empty();
var result = eval("("+results+")");
if(result.success == true){
$(".canvas").append('<img id="targetImg" src="' + result.imgUrl+""+'"/>');
}else{
alert( (result.code == null ? "" : result.code) + " " + result.msg);
}
}else{
alert("上传失败,请重新尝试!图片最大只能上传" + $("#maxFile").val() + "MB!");
};
};
}
r.open("post", "/upload/image" , true);
var data = new FormData();
data.append("imgUpload" , selectId('uploadImgLinkage').files[0]);
data.append("uploadTable" , $("#imgTable").val());
r.send(data);
});
!! status状态是400,走到2的时候
后台:
@RequestMapping(value = "image" , method = {RequestMethod.POST , RequestMethod.GET})
@ResponseBody
public Map<String,Object> doUploadImage(@RequestParam("imgUpload") MultipartFile file ,
@RequestParam(value = "uploadTable" , required = false)String uploadTable ){
Map<String,Object> result = new HashMap<String,Object>();
try {
//上传图片
String name = this.aliyunUtils.uploadFile(file, uploadTable+"/"+NameUtils.getDisposeUUID() + "." + ImageTypeUtils.getExtName(file.getOriginalFilename()));
this.uploadServiceCRU.doSaveImg(name, uploadTable);
result.put("success", true);
result.put("imgUrl", constantIP.getImgIp() + name);
} catch (Exception e) {
logger.error(e.getMessage(),e);
result.put("success", false);
result.put("code", "500");
result.put("mgs", "图片存储失败,请重新尝试");
}
return result;
}