//保存图片信息
$scope.save = function() {var fd = newFormData();var file = document.getElementById('homeImg').files[0];
fd.append('homeImg', file);$http.post(CommonConfig.RestBaseUrl.CaoBaoService+ 'homeimgs/upload?id=' + $scope.detailInfo.id + '&sortNum=' +$scope.detailInfo.sortNum, fd, CommonConfig.fileUploadReqConfig)
.then(function (result) { //正确请求成功时处理
console.log('save:result', result);if (result.data.code == 'NONE_ERROR') {
$scope.modalContent= '保存成功!';
$('#myModal').modal('show');
$scope.getHomeImgs($scope.detailInfo.id);
$scope.resetDetailInfo();
}else{
$scope.modalContent= '保存失败!';
$('#myModal').modal('show');
}
}).catch(function (result) { //捕捉错误处理
console.log(result);
});
};
请求参数设置:app
CommonConfig.
fileUploadReqConfig = {
headers: {
'Content-Type'
:
undefined },
transformRequest:
angular.
identity
};
前台展现:ide
<
img
src=
"data:image/png;base64,{{viewImgData}}"
width=
"100%"
height=
"100%"
alt=
"没法显示"
/>
后台post
后台Model中用String存储便可。spa
数据库采用MediumBlob类型。code
后台Rest请求处理:orm
import org.apache.commons.codec.binary.Base64;
@PostMapping(value = "/upload")public RestRsp upload(HttpServletRequest request, @RequestParam @Nullable intsortNum, @RequestParam @Nullable String id)
{
RestRsp result = new RestRsp();
HomeImgsMO mo= null;try{
List files = ((MultipartHttpServletRequest) request).getFiles("homeImg");if(StringUtil.isNotEmpty(id))
{
mo=homeImgsBusiness.getById(id);
mo.setSortNum(sortNum);if(CollectionUtil.isNotEmpty(files))
{
mo.setImgData(Base64.encodeBase64String(files.get(0).getBytes())); }
homeImgsBusiness.modify(mo);
}else{if(CollectionUtil.isEmpty(files))
{throw new LittleCatException("upload home img:img is null.");
}
mo= newHomeImgsMO();
mo.setSortNum(sortNum);
mo.setImgData(Base64.encodeBase64String(files.get(0).getBytes()));
result.getData().add(homeImgsBusiness.add(mo));
}
}catch(LittleCatException e)
{
result.setCode(e.getErrorCode());
result.setMessage(e.getMessage());
logger.error(e.getMessage(), e);
}catch(Exception e)
{
result.setCode(Consts.ERROR_CODE_UNKNOW);
result.setMessage(e.getMessage());
logger.error(e.getMessage(), e);
}returnresult;
}
POM:blog
图片
commons-codec
commons-codec
1.11
提交数据库操做:
public static final String CHARSET_NAME = "utf-8";
new SerialBlob(mo.getImgData().getBytes(Consts.CHARSET_NAME))