use of com.moxi.mogublog.picture.util.AboutFileUtil in project mogu_blog_v2 by moxi624.
the class FileServiceImpl method ckeditorUploadToolFile.
@Override
public Object ckeditorUploadToolFile(HttpServletRequest request) {
String token = request.getParameter(SysConf.TOKEN);
// 从Redis中获取系统配置【需要传入token】
Map<String, String> qiNiuResultMap = feignUtil.getSystemConfigMap(token);
SystemConfig systemConfig = feignUtil.getSystemConfigByMap(qiNiuResultMap);
Map<String, Object> map = new HashMap<>();
Map<String, Object> errorMap = new HashMap<>();
// 引用自己设计的一个工具类
AboutFileUtil af = new AboutFileUtil();
// 转换成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
// 取得request中的所有文件名
Iterator<String> iter = multiRequest.getFileNames();
while (iter.hasNext()) {
MultipartFile file = multiRequest.getFile(iter.next());
if (file != null) {
// 获取旧名称
String oldName = file.getOriginalFilename();
// 获取扩展名
String expandedName = FileUtils.getPicExpandedName(oldName);
// 判断是否安全文件
if (!af.isSafe(expandedName)) {
map.put(SysConf.UPLOADED, 0);
errorMap.put(SysConf.MESSAGE, "请上传正确格式的文件");
map.put(SysConf.ERROR, errorMap);
return map;
}
// 对文件大小进行限制
if (file.getSize() > (50 * 1024 * 1024)) {
map.put(SysConf.UPLOADED, 0);
errorMap.put(SysConf.MESSAGE, "文件大小不能超过50M");
map.put(SysConf.ERROR, errorMap);
return map;
}
// 设置图片上传服务必要的信息
request.setAttribute(SysConf.USER_UID, SysConf.DEFAULT_UID);
request.setAttribute(SysConf.ADMIN_UID, SysConf.DEFAULT_UID);
request.setAttribute(SysConf.PROJECT_NAME, SysConf.BLOG);
request.setAttribute(SysConf.SORT_NAME, SysConf.ADMIN);
List<MultipartFile> fileData = new ArrayList<>();
fileData.add(file);
String result = fileService.batchUploadFile(request, fileData, systemConfig);
Map<String, Object> resultMap = JsonUtils.jsonToMap(result);
String code = resultMap.get(SysConf.CODE).toString();
if (SysConf.SUCCESS.equals(code)) {
List<HashMap<String, Object>> resultList = (List<HashMap<String, Object>>) resultMap.get(SysConf.DATA);
if (resultList.size() > 0) {
Map<String, Object> picture = resultList.get(0);
String fileName = picture.get(SysConf.PIC_NAME).toString();
map.put(SysConf.UPLOADED, 1);
map.put(SysConf.FILE_NAME, fileName);
// 设置显示方式
if (EFilePriority.QI_NIU.equals(systemConfig.getContentPicturePriority())) {
String qiNiuPictureBaseUrl = systemConfig.getQiNiuPictureBaseUrl();
String qiNiuUrl = qiNiuPictureBaseUrl + picture.get(SysConf.QI_NIU_URL).toString();
map.put(SysConf.URL, qiNiuUrl);
} else if (EFilePriority.MINIO.equals(systemConfig.getContentPicturePriority())) {
String minioPictureBaseUrl = systemConfig.getMinioPictureBaseUrl();
// 设置图片服务根域名
String url = minioPictureBaseUrl + picture.get(SysConf.MINIO_URL).toString();
map.put(SysConf.URL, url);
} else {
String localPictureBaseUrl = systemConfig.getLocalPictureBaseUrl();
// 设置图片服务根域名
String url = localPictureBaseUrl + picture.get(SysConf.PIC_URL).toString();
map.put(SysConf.URL, url);
}
}
return map;
} else {
map.put(SysConf.UPLOADED, 0);
errorMap.put(SysConf.MESSAGE, "上传失败");
map.put(SysConf.ERROR, errorMap);
return map;
}
}
}
return null;
}
use of com.moxi.mogublog.picture.util.AboutFileUtil in project mogu_blog_v2 by moxi624.
the class FileServiceImpl method ckeditorUploadFile.
@Override
public Object ckeditorUploadFile(HttpServletRequest request) {
String token = request.getParameter(SysConf.TOKEN);
// 从Redis中获取七牛云配置文件
Map<String, String> qiNiuResultMap = feignUtil.getSystemConfigMap(token);
SystemConfig systemConfig = feignUtil.getSystemConfigByMap(qiNiuResultMap);
Map<String, Object> map = new HashMap<>();
Map<String, Object> errorMap = new HashMap<>();
// 引用自己设计的一个工具类
AboutFileUtil af = new AboutFileUtil();
// 转换成多部分request
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
// 取得request中的所有文件名
Iterator<String> iter = multiRequest.getFileNames();
while (iter.hasNext()) {
MultipartFile file = multiRequest.getFile(iter.next());
if (file != null) {
// 获取旧名称
String oldName = file.getOriginalFilename();
// 获取扩展名
String expandedName = FileUtils.getPicExpandedName(oldName);
// 判断是否是图片
if (!af.isPic(expandedName)) {
map.put(SysConf.UPLOADED, 0);
errorMap.put(SysConf.MESSAGE, "请上传正确的图片");
map.put(SysConf.ERROR, errorMap);
return map;
}
// 对图片大小进行限制
if (file.getSize() > (10 * 1024 * 1024)) {
map.put(SysConf.UPLOADED, 0);
errorMap.put(SysConf.MESSAGE, "图片大小不能超过10M");
map.put(SysConf.ERROR, errorMap);
return map;
}
// 设置图片上传服务必要的信息
request.setAttribute(SysConf.USER_UID, SysConf.DEFAULT_UID);
request.setAttribute(SysConf.ADMIN_UID, SysConf.DEFAULT_UID);
request.setAttribute(SysConf.PROJECT_NAME, SysConf.BLOG);
request.setAttribute(SysConf.SORT_NAME, SysConf.ADMIN);
List<MultipartFile> fileData = new ArrayList<>();
fileData.add(file);
// 批量上传图片
String result = fileService.batchUploadFile(request, fileData, systemConfig);
Map<String, Object> resultMap = JsonUtils.jsonToMap(result);
String code = resultMap.get(SysConf.CODE).toString();
if (SysConf.SUCCESS.equals(code)) {
List<HashMap<String, Object>> resultList = (List<HashMap<String, Object>>) resultMap.get(SysConf.DATA);
if (resultList.size() > 0) {
Map<String, Object> picture = resultList.get(0);
String fileName = picture.get(SysConf.PIC_NAME).toString();
map.put(SysConf.UPLOADED, 1);
map.put(SysConf.FILE_NAME, fileName);
// 设置博客详情显示方式
if (EFilePriority.QI_NIU.equals(systemConfig.getContentPicturePriority())) {
String qiNiuPictureBaseUrl = systemConfig.getQiNiuPictureBaseUrl();
String qiNiuUrl = picture.get(SysConf.QI_NIU_URL).toString();
map.put(SysConf.URL, qiNiuPictureBaseUrl + qiNiuUrl);
} else if (EFilePriority.MINIO.equals(systemConfig.getContentPicturePriority())) {
String minioPictureBaseUrl = systemConfig.getMinioPictureBaseUrl();
String url = minioPictureBaseUrl + picture.get(SysConf.MINIO_URL).toString();
map.put(SysConf.URL, url);
} else {
String localPictureBaseUrl = systemConfig.getLocalPictureBaseUrl();
// 设置图片服务根域名
String url = localPictureBaseUrl + picture.get(SysConf.PIC_URL).toString();
map.put(SysConf.URL, url);
}
}
} else {
map.put(SysConf.UPLOADED, 0);
errorMap.put(SysConf.MESSAGE, "上传失败");
map.put(SysConf.ERROR, errorMap);
}
}
}
return map;
}
Aggregations