diff --git a/sql/picturebed.sql b/sql/picturebed.sql index 9364a36..ba56266 100644 --- a/sql/picturebed.sql +++ b/sql/picturebed.sql @@ -11,7 +11,7 @@ Target Server Version : 50720 File Encoding : 65001 - Date: 21/07/2019 21:53:02 + Date: 23/07/2019 20:23:29 */ SET NAMES utf8mb4; @@ -35,13 +35,14 @@ CREATE TABLE `config` ( `domain` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '站点域名', `background1` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '首页背景图', `background2` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '上传页面背景图', + `sett` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of config -- ---------------------------- -INSERT INTO `config` VALUES (1, 5, 1, 'Hellohao图床', '网站由JAVA语言编写应用SpringBoot框架开发,前端全部组件由BootStrap/Layui框架编写。由作者个人更新维护,后期会加入更全面的功能供大家使用,如有BUG请与我反馈。', 'https://hellohao.nos-eastchina1.126.net/%E7%BD%91%E7%AB%99%E7%B4%A0%E6%9D%90/logo2.png', 'Hellohao 切勿上传违反中华人民共和国互联网法律条约资源', '
  • 作者博客
  • 高清壁纸
  • json格式化
  • ', '也许...|这将是最好用的图床', 'console.log(\'百度统计JS代码\');', 'http://tc.hellohao.cn', 'https://hellohao.oss-cn-beijing.aliyuncs.com/Hellohao/eb83a0714030248.jpg', 'https://hellohao.oss-cn-beijing.aliyuncs.com/Hellohao/086650714030248.jpg'); +INSERT INTO `config` VALUES (1, 5, 1, 'Hellohao', '网站由JAVA语言编写应用SpringBoot框架开发,前端全部组件由BootStrap/Layui框架编写。由作者个人更新维护,后期会加入更全面的功能供大家使用,如有BUG请与我反馈。', 'https://hellohao.nos-eastchina1.126.net/%E7%BD%91%E7%AB%99%E7%B4%A0%E6%9D%90/logo2.png', 'Hellohao 切勿上传违反中华人民共和国互联网法律条约资源', '
  • 作者博客
  • 高清壁纸
  • json格式化
  • ', '也许...|这将是最好用的图床', 'console.log(\'百度统计JS代码\');', 'http://tc.hellohao.cn', 'https://hellohao.oss-cn-beijing.aliyuncs.com/Hellohao/eb83a0714030248.jpg', 'https://hellohao.oss-cn-beijing.aliyuncs.com/Hellohao/086650714030248.jpg', NULL); -- ---------------------------- -- Table structure for emailconfig @@ -77,7 +78,7 @@ CREATE TABLE `imgdata` ( `abnormal` int(2) NULL DEFAULT NULL COMMENT '异常', `source` int(2) NULL DEFAULT NULL COMMENT '存储源', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ---------------------------- -- Table structure for imgreview @@ -103,13 +104,13 @@ INSERT INTO `imgreview` VALUES (1, NULL, NULL, NULL, 0, 0); -- ---------------------------- DROP TABLE IF EXISTS `keys`; CREATE TABLE `keys` ( - `id` int(10) NOT NULL AUTO_INCREMENT, + `id` int(11) NOT NULL AUTO_INCREMENT, `AccessKey` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `AccessSecret` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `Endpoint` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `Bucketname` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, `RequestAddress` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, - `storageType` int(10) NOT NULL COMMENT '1网易2阿里3又拍4七牛5本地6腾讯', + `storageType` int(11) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; @@ -147,13 +148,14 @@ CREATE TABLE `uploadconfig` ( `imgcounttourists` int(10) NULL DEFAULT NULL COMMENT '游客文件总数量, 超出则不允许加入队列', `imgcountuser` int(10) NULL DEFAULT NULL COMMENT '用户文件总数量, 超出则不允许加入队列', `suffix` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '支持后缀', + `urltype` int(2) NULL DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; -- ---------------------------- -- Records of uploadconfig -- ---------------------------- -INSERT INTO `uploadconfig` VALUES (1, 3, 5, 1, 5, 'gif,jpg,jpeg,bmp,png'); +INSERT INTO `uploadconfig` VALUES (1, 3, 5, 1, 5, 'gif,jpg,jpeg,bmp,png', 1); -- ---------------------------- -- Table structure for user @@ -164,8 +166,8 @@ CREATE TABLE `user` ( `username` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户名', `password` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码', `email` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '邮箱', - `birthder` date NOT NULL COMMENT '注册时间', - `level` int(10) NOT NULL COMMENT '等级', + `birthder` datetime(0) NULL DEFAULT NULL COMMENT '注册时间', + `level` int(10) NULL DEFAULT NULL COMMENT '等级', `uid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户唯一标识', `isok` int(2) NOT NULL, PRIMARY KEY (`id`) USING BTREE @@ -174,6 +176,6 @@ CREATE TABLE `user` ( -- ---------------------------- -- Records of user -- ---------------------------- -INSERT INTO `user` VALUES (1, 'admin', 'admin', 'admin', '2019-06-12', 2, 'admin', 1); +INSERT INTO `user` VALUES (1, 'admin', 'admin', 'admin', '2019-06-12 00:00:00', 2, 'admin', 1); SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/main/java/cn/hellohao/controller/ClientController.java b/src/main/java/cn/hellohao/controller/ClientController.java new file mode 100644 index 0000000..5ae64d0 --- /dev/null +++ b/src/main/java/cn/hellohao/controller/ClientController.java @@ -0,0 +1,200 @@ +package cn.hellohao.controller; + +import cn.hellohao.pojo.*; +import cn.hellohao.service.ConfigService; +import cn.hellohao.service.KeysService; +import cn.hellohao.service.UploadConfigService; +import cn.hellohao.service.UserService; +import cn.hellohao.service.impl.KODOImageupload; +import cn.hellohao.service.impl.NOSImageupload; +import cn.hellohao.service.impl.OSSImageupload; +import cn.hellohao.service.impl.USSImageupload; +import cn.hellohao.utils.*; +import com.alibaba.fastjson.JSONArray; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author Hellohao + * @version 1.0 + * @date 2019-07-18 17:22 + */ +@RestController +public class ClientController { + @Autowired + private NOSImageupload nOSImageupload; + @Autowired + private UserService userService; + @Autowired + private KeysService keysService; + @Autowired + private OSSImageupload ossImageupload; + @Autowired + private ConfigService configService; + @Autowired + private USSImageupload ussImageupload; + @Autowired + private KODOImageupload kodoImageupload; + @Autowired + private UploadConfigService uploadConfigService; + + //@PostMapping(value = "/clientupimg") + @ResponseBody + public String clientupimg(@RequestParam("file") List file, String email,String pass) throws Exception { + JSONArray jsonArray = new JSONArray(); + UploadConfig uploadConfig = uploadConfigService.getUpdateConfig(); + + if(email!=null && pass!=null){ + Integer ret = userService.login(email, pass); + if (ret > 0) { + User user = userService.getUsers(email); + if (user.getIsok() == 1) { + User u = userService.getUsers(email); + Config config = configService.getSourceype();//查询当前系统使用的存储源类型。 + Keys key = keysService.selectKeys(config.getSourcekey()); + + if(key.getStorageType()!=0 && key.getStorageType()!=null){ + if(key.getStorageType()==1){ + nOSImageupload.Initialize(key);//实例化网易 + }else if (key.getStorageType()==2){ + OSSImageupload.Initialize(key); + }else if(key.getStorageType()==3){ + USSImageupload.Initialize(key); + }else if(key.getStorageType()==4){ + KODOImageupload.Initialize(key); + }else{ + System.err.println("客户端:未获取到对象存储参数,初始化失败。"); + } + } + Print.Normal("客户端:初始化上传。"); + Boolean b = StringUtils.doNull(key);//判断对象是否有空值 + if(b){ + long stime = System.currentTimeMillis(); + + String userpath = "tourist"; + if(uploadConfig.getUrltype()==2){ + java.text.DateFormat dateFormat = new java.text.SimpleDateFormat("yyyy/MM/dd"); + userpath = dateFormat.format(new Date()); + }else{ + if (u != null) { + userpath = u.getUsername(); + } + } + Map map = new HashMap<>(); + for (MultipartFile multipartFile : file) { + //获取文件名 + System.out.println(multipartFile.toString()); + String fileName = multipartFile.getOriginalFilename(); + String lastname = fileName.substring(fileName.lastIndexOf(".") + 1);//获取文件后缀 + if (!multipartFile.isEmpty()) { //判断文件是否为空 + map.put(lastname, multipartFile); + } + } + Map m = null; + Map m2 = null; + if(key.getStorageType()==1){ + m = nOSImageupload.clientuploadNOS(map, userpath); + }else if (key.getStorageType()==2){ + m = ossImageupload.clientuploadOSS(map, userpath); + }else if(key.getStorageType()==3){ + m = ussImageupload.clientuploadUSS(map, userpath); + }else if(key.getStorageType()==4){ + m = kodoImageupload.clientuploadKODO(map, userpath); + }else if(key.getStorageType()==5){ + m2 = LocUpdateImg.ImageuploadLOC(map, userpath,null); + }else{ + System.err.println("未获取到对象存储参数,上传失败。"); + } + Images img = new Images(); + SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); + String times = df.format(new Date()); + System.out.println("上传图片的时间是:"+times); + if(key.getStorageType()==5){ + for (Map.Entry entry : m2.entrySet()) { + if(key.getStorageType()==5){ + if(config.getDomain()!=null){ + jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接 + }else{ + jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl("http://"+ IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接 + } + }else{ + jsonArray.add(entry.getKey().getImgurl()); + img.setImgurl(entry.getKey().getImgurl());//图片链接 + } + img.setUpdatetime(times); + img.setSource(key.getStorageType()); + if (u == null) { + img.setUserid(0);//用户id + } else { + img.setUserid(u.getId());//用户id + } + img.setSizes((entry.getValue())); + img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", "")); + img.setAbnormal(0); + userService.insertimg(img); + long etime = System.currentTimeMillis(); + System.out.println("上传图片所用时长:" + String.valueOf(etime - stime) + "ms"); + } + }else{ + for (Map.Entry entry : m.entrySet()) { + if(key.getStorageType()==5){ + if(config.getDomain()!=null){ + jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); + img.setImgurl(config.getDomain()+"/links/"+entry.getKey());//图片链接 + }else{ + jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); + img.setImgurl("http://"+ IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey());//图片链接 + } + }else{ + jsonArray.add(entry.getKey()); + img.setImgurl(entry.getKey());//图片链接 + } + img.setUpdatetime(times); + img.setSource(key.getStorageType()); + if (u == null) { + img.setUserid(0);//用户id + } else { + img.setUserid(u.getId());//用户id + } + img.setSizes((entry.getValue())); + img.setImgname(SetText.getSubString(entry.getKey(), key.getRequestAddress() + "/", "")); + img.setAbnormal(0); + userService.insertimg(img); + long etime = System.currentTimeMillis(); + System.out.println("上传图片所用时长:" + String.valueOf(etime - stime) + "ms"); + } + } + }else{ + jsonArray.add(-1); + } + Print.Normal(jsonArray.toString()); + } + + }else{ + //邮箱或密码不正确,登录失败 + jsonArray.add(-2); + } + }else{ + //邮箱、密码为空 + jsonArray.add(-3); + } + return jsonArray.toString(); + } + + @GetMapping (value = "/notices") + @ResponseBody + public String notices() throws Exception { + + return "-1";//-1就是没有公告,客户端不显示 + } + +} diff --git a/src/main/java/cn/hellohao/controller/UpdateImgController.java b/src/main/java/cn/hellohao/controller/UpdateImgController.java index e431807..fae8b46 100644 --- a/src/main/java/cn/hellohao/controller/UpdateImgController.java +++ b/src/main/java/cn/hellohao/controller/UpdateImgController.java @@ -46,7 +46,7 @@ public class UpdateImgController { @RequestMapping({"/", "/index"}) public String indexImg(Model model, HttpSession httpSession) { Print.Normal("欢迎使用Hellohao图床源码。者也许是最好用的java图床项目。"); - Print.warning("当前项目路径:"+System.getProperty("user.dir")); + Print.Normal("当前项目路径:"+System.getProperty("user.dir")); Config config = configService.getSourceype();//查询当前系统使用的存储源类型。 UploadConfig uploadConfig = uploadConfigService.getUpdateConfig(); Integer filesizetourists = 0; @@ -123,15 +123,23 @@ public class UpdateImgController { public String upimg( HttpSession session , @RequestParam(value = "file", required = false) MultipartFile[] file) throws Exception { Config config = configService.getSourceype();//查询当前系统使用的存储源类型。 + UploadConfig uploadConfig = uploadConfigService.getUpdateConfig(); JSONArray jsonArray = new JSONArray(); + JSONObject jsonObject = new JSONObject(); Keys key = keysService.selectKeys(config.getSourcekey()); Boolean b = StringUtils.doNull(key);//判断对象是否有空值 + if(b){ long stime = System.currentTimeMillis(); User u = (User) session.getAttribute("user"); - String username = "tourist"; - if (u != null) { - username = u.getUsername(); + String userpath = "tourist"; + if(uploadConfig.getUrltype()==2){ + java.text.DateFormat dateFormat = new java.text.SimpleDateFormat("yyyy/MM/dd"); + userpath = dateFormat.format(new Date()); + }else{ + if (u != null) { + userpath = u.getUsername(); + } } Map map = new HashMap<>(); for (MultipartFile multipartFile : file) { @@ -145,19 +153,19 @@ public class UpdateImgController { //multipartFile.getSize(); //文件大小 } } - Map m = null; + Map m = null; if(key.getStorageType()==1){ - m = nOSImageupload.Imageupload(map, username,null); + m = nOSImageupload.Imageupload(map, userpath,null); }else if (key.getStorageType()==2){ - m = ossImageupload.ImageuploadOSS(map, username,null); + m = ossImageupload.ImageuploadOSS(map, userpath,null); }else if(key.getStorageType()==3){ - m = ussImageupload.ImageuploadUSS(map, username,null); + m = ussImageupload.ImageuploadUSS(map, userpath,null); }else if(key.getStorageType()==4){ - m = kodoImageupload.ImageuploadKODO(map, username,null); + m = kodoImageupload.ImageuploadKODO(map, userpath,null); }else if(key.getStorageType()==5){ - m = LocUpdateImg.ImageuploadLOC(map, username,null); + m = LocUpdateImg.ImageuploadLOC(map, userpath,null); }else if(key.getStorageType()==6){ - m = cosImageupload.ImageuploadCOS(map, username,null); + m = cosImageupload.ImageuploadCOS(map, userpath,null); } else{ System.err.println("未获取到对象存储参数,上传失败。"); @@ -166,20 +174,26 @@ public class UpdateImgController { SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); String times = df.format(new Date()); System.out.println("上传图片的时间是:"+times); - for (Map.Entry entry : m.entrySet()) { + for (Map.Entry entry : m.entrySet()) { if(key.getStorageType()==5){ if(config.getDomain()!=null){ - jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); - img.setImgurl(config.getDomain()+"/links/"+entry.getKey());//图片链接 + jsonObject.put("imgurls",config.getDomain()+"/links/"+entry.getKey().getImgurl()); + jsonObject.put("imgnames",entry.getKey().getImgname()); + //jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接 }else{ - jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); - img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey());//图片链接 + jsonObject.put("imgurls",config.getDomain()+"/links/"+entry.getKey().getImgurl()); + jsonObject.put("imgnames",entry.getKey().getImgname()); + //jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接 } }else{ - jsonArray.add(entry.getKey()); - img.setImgurl(entry.getKey());//图片链接 + jsonObject.put("imgurls",entry.getKey().getImgurl()); + jsonObject.put("imgnames",entry.getKey().getImgname()); + //jsonArray.add(entry.getKey()); + img.setImgurl(entry.getKey().getImgurl());//图片链接 } - + jsonArray.add(jsonObject); img.setUpdatetime(times); img.setSource(key.getStorageType()); if (u == null) { @@ -188,15 +202,18 @@ public class UpdateImgController { img.setUserid(u.getId());//用户id } img.setSizes((entry.getValue()) / 1024); - img.setImgname(SetText.getSubString(entry.getKey(), key.getRequestAddress() + "/", "")); + img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", "")); img.setAbnormal(0); userService.insertimg(img); long etime = System.currentTimeMillis(); System.out.println("上传图片所用时长:" + String.valueOf(etime - stime) + "ms"); } + }else{ - jsonArray.add(-1); + //jsonArray.add(-1); + jsonObject.put("imgurls",-1); } + //开辟新进程鉴黄。现在已经改成定时器 //查询鉴黄功能是否启动,1为启用 // Imgreview imgreview = imgreviewService.selectByPrimaryKey(1); @@ -205,9 +222,9 @@ public class UpdateImgController { // JianHuangThread thread = new JianHuangThread(imgreviewService, key, u, m); // thread.start(); // } - Print.Normal(jsonArray.toString()); + System.out.println(jsonArray.toString()); - return jsonArray.toString(); + return jsonObject.toString(); } @@ -216,17 +233,20 @@ public class UpdateImgController { @PostMapping(value = "/upurlimg") @ResponseBody public String upurlimg(HttpSession session, String imgurl, HttpServletRequest request) throws Exception { - - User u = (User) session.getAttribute("user"); - String username = "tourist"; - - if (u != null) { - username = u.getUsername(); - } Config config = configService.getSourceype();//查询当前系统使用的存储源类型。 + UploadConfig uploadConfig = uploadConfigService.getUpdateConfig(); + User u = (User) session.getAttribute("user"); + String userpath = "tourist"; + if(uploadConfig.getUrltype()==2){ + java.text.DateFormat dateFormat = new java.text.SimpleDateFormat("yyyy/MM/dd"); + userpath = dateFormat.format(new Date()); + }else{ + if (u != null) { + userpath = u.getUsername(); + } + } JSONArray jsonArray = new JSONArray(); Keys key = keysService.selectKeys(config.getSourcekey()); - UploadConfig uploadConfig = uploadConfigService.getUpdateConfig(); long imgsize = ImgUrlUtil.getFileLength(imgurl); Integer youke = uploadConfig.getFilesizetourists(); Integer yonghu = uploadConfig.getFilesizeuser(); @@ -259,19 +279,19 @@ public class UpdateImgController { if(!ooo.equals("0000")){ Map map = new HashMap<>(); map.put(ooo, request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid); - Map m = null; + Map m = null; if(key.getStorageType()==1){ - m = nOSImageupload.Imageupload(null, username,map); + m = nOSImageupload.Imageupload(null, userpath,map); }else if (key.getStorageType()==2){ - m = ossImageupload.ImageuploadOSS(null, username,map); + m = ossImageupload.ImageuploadOSS(null, userpath,map); }else if(key.getStorageType()==3){ - m = ussImageupload.ImageuploadUSS(null, username,map); + m = ussImageupload.ImageuploadUSS(null, userpath,map); }else if(key.getStorageType()==4){ - m = kodoImageupload.ImageuploadKODO(null, username,map); + m = kodoImageupload.ImageuploadKODO(null, userpath,map); }else if(key.getStorageType()==5){ - m = LocUpdateImg.ImageuploadLOC(null,username,map); + m = LocUpdateImg.ImageuploadLOC(null,userpath,map); }else if(key.getStorageType()==6){ - m = cosImageupload.ImageuploadCOS(null,username,map); + m = cosImageupload.ImageuploadCOS(null,userpath,map); } else{ System.err.println("未获取到对象存储参数,上传失败。"); @@ -280,17 +300,17 @@ public class UpdateImgController { SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); String times = df.format(new Date()); System.out.println("上传图片的时间是:"+times); - for (Map.Entry entry : m.entrySet()) { + for (Map.Entry entry : m.entrySet()) { if(key.getStorageType()==5){ if(config.getDomain()!=null){ - jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); - img.setImgurl(config.getDomain()+"/links/"+entry.getKey());//图片链接 + jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接 }else{ - jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); - img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey());//图片链接 + jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接 } }else{ - jsonArray.add(entry.getKey()); + jsonArray.add(entry.getKey().getImgurl()); } //img.setImgurl(entry.getKey());//图片链接 img.setUpdatetime(times); @@ -301,7 +321,7 @@ public class UpdateImgController { img.setUserid(u.getId());//用户id } img.setSizes((entry.getValue())); - img.setImgname(SetText.getSubString(entry.getKey(), key.getRequestAddress() + "/", "")); + img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", "")); img.setAbnormal(0); userService.insertimg(img); long etime = System.currentTimeMillis(); @@ -341,19 +361,19 @@ public class UpdateImgController { if(!xxx.equals("0000")){ Map map = new HashMap<>(); map.put(ooo, request.getSession().getServletContext().getRealPath("/")+"/hellohaotmp/"+uuid); - Map m = null; + Map m = null; if(key.getStorageType()==1){ - m = nOSImageupload.Imageupload(null, username,map); + m = nOSImageupload.Imageupload(null, userpath,map); }else if (key.getStorageType()==2){ - m = ossImageupload.ImageuploadOSS(null, username,map); + m = ossImageupload.ImageuploadOSS(null, userpath,map); }else if(key.getStorageType()==3){ - m = ussImageupload.ImageuploadUSS(null, username,map); + m = ussImageupload.ImageuploadUSS(null, userpath,map); }else if(key.getStorageType()==4){ - m = kodoImageupload.ImageuploadKODO(null, username,map); + m = kodoImageupload.ImageuploadKODO(null, userpath,map); }else if(key.getStorageType()==5){ - m =LocUpdateImg.ImageuploadLOC(null,username, map); + m =LocUpdateImg.ImageuploadLOC(null,userpath, map); }else if(key.getStorageType()==6){ - m =cosImageupload.ImageuploadCOS(null,username, map); + m =cosImageupload.ImageuploadCOS(null,userpath, map); } else{ System.err.println("未获取到对象存储参数,上传失败。"); @@ -362,17 +382,17 @@ public class UpdateImgController { SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd"); String times = df.format(new Date()); System.out.println("上传图片的时间是:"+times); - for (Map.Entry entry : m.entrySet()) { + for (Map.Entry entry : m.entrySet()) { if(key.getStorageType()==5){ if(config.getDomain()!=null){ - jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); - img.setImgurl(config.getDomain()+"/links/"+entry.getKey());//图片链接 + jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl(config.getDomain()+"/links/"+entry.getKey().getImgurl());//图片链接 }else{ - jsonArray.add(config.getDomain()+"/links/"+entry.getKey()); - img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey());//图片链接 + jsonArray.add(config.getDomain()+"/links/"+entry.getKey().getImgurl()); + img.setImgurl("http://"+IPPortUtil.getLocalIP()+":"+IPPortUtil.getLocalPort()+"/links/"+entry.getKey().getImgurl());//图片链接 } }else{ - jsonArray.add(entry.getKey()); + jsonArray.add(entry.getKey().getImgurl()); } //img.setImgurl(entry.getKey());//图片链接 img.setUpdatetime(times); @@ -383,7 +403,7 @@ public class UpdateImgController { img.setUserid(u.getId());//用户id } img.setSizes((entry.getValue())); - img.setImgname(SetText.getSubString(entry.getKey(), key.getRequestAddress() + "/", "")); + img.setImgname(SetText.getSubString(entry.getKey().getImgurl(), key.getRequestAddress() + "/", "")); img.setAbnormal(0); userService.insertimg(img); long etime = System.currentTimeMillis(); diff --git a/src/main/java/cn/hellohao/pojo/Config.java b/src/main/java/cn/hellohao/pojo/Config.java index ea1e181..182a777 100644 --- a/src/main/java/cn/hellohao/pojo/Config.java +++ b/src/main/java/cn/hellohao/pojo/Config.java @@ -14,12 +14,13 @@ public class Config { private String domain; private String background1; private String background2; + private String sett; public Config() { } - public Config(Integer id, Integer sourcekey, Integer emails, String webname, String explain, String logos, String footed, String links, String notice, String baidu, String domain, String background1, String background2) { + public Config(Integer id, Integer sourcekey, Integer emails, String webname, String explain, String logos, String footed, String links, String notice, String baidu, String domain, String background1, String background2, String sett) { this.id = id; this.sourcekey = sourcekey; this.emails = emails; @@ -33,6 +34,7 @@ public class Config { this.domain = domain; this.background1 = background1; this.background2 = background2; + this.sett = sett; } public Integer getId() { @@ -138,4 +140,12 @@ public class Config { public void setBackground2(String background2) { this.background2 = background2; } + + public String getSett() { + return sett; + } + + public void setSett(String sett) { + this.sett = sett; + } } diff --git a/src/main/java/cn/hellohao/pojo/ReturnImage.java b/src/main/java/cn/hellohao/pojo/ReturnImage.java new file mode 100644 index 0000000..bf55dff --- /dev/null +++ b/src/main/java/cn/hellohao/pojo/ReturnImage.java @@ -0,0 +1,35 @@ +package cn.hellohao.pojo; + +/** + * @author Hellohao + * @version 1.0 + * @date 2019-07-22 11:35 + */ +public class ReturnImage { + private String imgurl; + private String imgname; + + public ReturnImage() { + } + + public ReturnImage(String imgurl, String imgname) { + this.imgurl = imgurl; + this.imgname = imgname; + } + + public String getImgurl() { + return imgurl; + } + + public void setImgurl(String imgurl) { + this.imgurl = imgurl; + } + + public String getImgname() { + return imgname; + } + + public void setImgname(String imgname) { + this.imgname = imgname; + } +} diff --git a/src/main/java/cn/hellohao/pojo/UploadConfig.java b/src/main/java/cn/hellohao/pojo/UploadConfig.java index 60b78c3..308b5ee 100644 --- a/src/main/java/cn/hellohao/pojo/UploadConfig.java +++ b/src/main/java/cn/hellohao/pojo/UploadConfig.java @@ -6,16 +6,18 @@ public class UploadConfig { private Integer filesizeuser; private Integer imgcounttourists; private Integer imgcountuser; + private Integer urltype; public UploadConfig() { } - public UploadConfig(String suffix, Integer filesizetourists, Integer filesizeuser, Integer imgcounttourists, Integer imgcountuser) { + public UploadConfig(String suffix, Integer filesizetourists, Integer filesizeuser, Integer imgcounttourists, Integer imgcountuser, Integer urltype) { this.suffix = suffix; this.filesizetourists = filesizetourists; this.filesizeuser = filesizeuser; this.imgcounttourists = imgcounttourists; this.imgcountuser = imgcountuser; + this.urltype = urltype; } public String getSuffix() { @@ -57,4 +59,12 @@ public class UploadConfig { public void setImgcountuser(Integer imgcountuser) { this.imgcountuser = imgcountuser; } + + public Integer getUrltype() { + return urltype; + } + + public void setUrltype(Integer urltype) { + this.urltype = urltype; + } } diff --git a/src/main/java/cn/hellohao/quartz/QuartzConfigration.java b/src/main/java/cn/hellohao/quartz/QuartzConfigration.java index 4d181da..5f77d4a 100644 --- a/src/main/java/cn/hellohao/quartz/QuartzConfigration.java +++ b/src/main/java/cn/hellohao/quartz/QuartzConfigration.java @@ -1,6 +1,7 @@ package cn.hellohao.quartz; import org.quartz.Trigger; +import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.quartz.CronTriggerFactoryBean; @@ -12,6 +13,10 @@ import org.springframework.scheduling.quartz.SchedulerFactoryBean; @Configuration public class QuartzConfigration { + //直接读取properties文件的值 + @Value("${Expression}") + private String Expression; + @Bean(name = "jobDetail") public MethodInvokingJobDetailFactoryBean detailFactoryBean(SchedulerTask task) { // ScheduleTask为需要执行的任务 @@ -59,7 +64,8 @@ public class QuartzConfigration { public CronTriggerFactoryBean cronJobTrigger(MethodInvokingJobDetailFactoryBean jobDetail) { CronTriggerFactoryBean tigger = new CronTriggerFactoryBean(); tigger.setJobDetail(jobDetail.getObject()); - tigger.setCronExpression("0 30 04 * * ?");// 表示每天七点半执行 + tigger.setCronExpression((Expression)); + //tigger.setCronExpression("0 30 04 * * ?");// 表示每天七点半执行 //tigger.setCronExpression(("0 0/3 * * * ?"));//每三分钟 //tigger.setCronExpression("*/5 * * * * ?");//每五秒执行一次 //tigger.set diff --git a/src/main/java/cn/hellohao/quartz/SchedulerTask.java b/src/main/java/cn/hellohao/quartz/SchedulerTask.java index 00b7c6c..9a9f679 100644 --- a/src/main/java/cn/hellohao/quartz/SchedulerTask.java +++ b/src/main/java/cn/hellohao/quartz/SchedulerTask.java @@ -103,14 +103,10 @@ public class SchedulerTask { System.err.println("存在色情图片,删除失败"); } } - } } - } - } - } diff --git a/src/main/java/cn/hellohao/service/impl/COSImageupload.java b/src/main/java/cn/hellohao/service/impl/COSImageupload.java index 14eaab8..4fc8e47 100644 --- a/src/main/java/cn/hellohao/service/impl/COSImageupload.java +++ b/src/main/java/cn/hellohao/service/impl/COSImageupload.java @@ -1,6 +1,7 @@ package cn.hellohao.service.impl; import cn.hellohao.pojo.Keys; +import cn.hellohao.pojo.ReturnImage; import cn.hellohao.utils.ImgUrlUtil; import cn.hellohao.utils.Print; import com.netease.cloud.auth.BasicCredentials; @@ -31,11 +32,11 @@ public class COSImageupload { static COSClient cosClient; static Keys key; - public Map ImageuploadCOS(Map fileMap, String username,Map fileMap2) throws Exception { + public Map ImageuploadCOS(Map fileMap, String username,Map fileMap2) throws Exception { // 要上传文件的路径 if(fileMap2==null){ File file = null; - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); for (Map.Entry entry : fileMap.entrySet()) { String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,5);//生成一个没有-的uuid,然后取前5位 java.text.DateFormat format1 = new java.text.SimpleDateFormat("MMddhhmmss"); @@ -48,7 +49,11 @@ public class COSImageupload { String userkey =username + "/" + uuid+times + "." + entry.getKey(); PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, userkey, file); PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest); - ImgUrl.put(key.getRequestAddress() + "/" + userkey, (int) (entry.getValue().getSize())); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgname(entry.getValue().getOriginalFilename()); + returnImage.setImgurl(key.getRequestAddress() + "/" + userkey); + ImgUrl.put(returnImage, (int) (entry.getValue().getSize())); + } catch (CosServiceException serverException) { serverException.printStackTrace(); } catch (CosClientException clientException) { @@ -57,7 +62,7 @@ public class COSImageupload { } return ImgUrl; }else{ - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); //设置Header ObjectMetadata meta = new ObjectMetadata(); meta.setHeader("Content-Disposition", "inline"); @@ -73,7 +78,10 @@ public class COSImageupload { String userkey =username + "/" + uuid+times + "." + entry.getKey(); PutObjectRequest putObjectRequest = new PutObjectRequest(BarrelName, userkey, file); PutObjectResult putObjectResult = cosClient.putObject(putObjectRequest); - ImgUrl.put(key.getRequestAddress() + "/" + userkey, ImgUrlUtil.getFileSize2(new File(imgurl))); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgurl(key.getRequestAddress() + "/" + userkey); + + ImgUrl.put(returnImage, ImgUrlUtil.getFileSize2(new File(imgurl))); boolean bb= new File(imgurl).getAbsoluteFile().delete(); Print.Normal("删除情况"+bb); } catch (Exception e) { diff --git a/src/main/java/cn/hellohao/service/impl/KODOImageupload.java b/src/main/java/cn/hellohao/service/impl/KODOImageupload.java index f1cb6ef..7700032 100644 --- a/src/main/java/cn/hellohao/service/impl/KODOImageupload.java +++ b/src/main/java/cn/hellohao/service/impl/KODOImageupload.java @@ -1,6 +1,7 @@ package cn.hellohao.service.impl; import cn.hellohao.pojo.Keys; +import cn.hellohao.pojo.ReturnImage; import cn.hellohao.utils.ImgUrlUtil; import com.aliyun.oss.OSSClient; import com.aliyun.oss.model.ObjectMetadata; @@ -28,11 +29,11 @@ public class KODOImageupload { static UploadManager uploadManager; static Keys key; - public Map ImageuploadKODO(Map fileMap, String username,Map fileMap2) throws Exception { + public Map ImageuploadKODO(Map fileMap, String username, Map fileMap2) throws Exception { // 要上传文件的路径 if(fileMap2==null){ File file = null; - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); for (Map.Entry entry : fileMap.entrySet()) { String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,5);//生成一个没有-的uuid,然后取前5位 @@ -46,7 +47,10 @@ public class KODOImageupload { Response response = uploadManager.put(file,username + "/" + uuid+times + "." + entry.getKey(),upToken); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), (int) (entry.getValue().getSize())); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgname(entry.getValue().getOriginalFilename()); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, (int) (entry.getValue().getSize())); //System.out.println(putRet.hash); } catch (QiniuException ex) { Response r = ex.response; @@ -60,7 +64,7 @@ public class KODOImageupload { } return ImgUrl; }else{ - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); for (Map.Entry entry : fileMap2.entrySet()) { String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,5);//生成一个没有-的uuid,然后取前5位 @@ -73,7 +77,9 @@ public class KODOImageupload { Response response = uploadManager.put(new File(imgurl),username + "/" + uuid+times + "." + entry.getKey(),upToken); //解析上传成功的结果 DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class); - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), ImgUrlUtil.getFileSize2(new File(imgurl))); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, ImgUrlUtil.getFileSize2(new File(imgurl))); //System.out.println(putRet.hash); new File(imgurl).delete(); } catch (QiniuException ex) { diff --git a/src/main/java/cn/hellohao/service/impl/NOSImageupload.java b/src/main/java/cn/hellohao/service/impl/NOSImageupload.java index dc84a22..f168d93 100644 --- a/src/main/java/cn/hellohao/service/impl/NOSImageupload.java +++ b/src/main/java/cn/hellohao/service/impl/NOSImageupload.java @@ -8,6 +8,7 @@ import java.util.HashMap; import java.util.Map; import java.util.UUID; +import cn.hellohao.pojo.ReturnImage; import cn.hellohao.utils.ImgUrlUtil; import cn.hellohao.utils.Print; import com.netease.cloud.services.nos.model.ObjectMetadata; @@ -39,11 +40,11 @@ public class NOSImageupload { static NosClient nosClient; static Keys key; - public Map Imageupload(Map fileMap, String username,Map fileMap2) throws Exception { + public Map Imageupload(Map fileMap, String username,Map fileMap2) throws Exception { // 要上传文件的路径 if(fileMap2==null){ File file = null; - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); for (Map.Entry entry : fileMap.entrySet()) { String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,5);//生成一个没有-的uuid,然后取前5位 java.text.DateFormat format1 = new java.text.SimpleDateFormat("MMddhhmmss"); @@ -51,15 +52,17 @@ public class NOSImageupload { file = changeFile(entry.getValue()); try { nosClient.putObject(BarrelName, username + "/" + uuid+times + "." + entry.getKey(), file); - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), (int) (entry.getValue().getSize())); - + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgname(entry.getValue().getOriginalFilename()); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, (int) (entry.getValue().getSize())); } catch (Exception e) { System.out.println("上传报错:" + e.getMessage()); } } return ImgUrl; }else{ - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); //设置Header ObjectMetadata meta = new ObjectMetadata(); meta.setHeader("Content-Disposition", "inline"); @@ -88,7 +91,10 @@ public class NOSImageupload { //nosClient.putObject(BarrelName, username + "/" + uuid+times + "." + entry.getKey(), new File(imgurl)); //new FileInputStream(file) nosClient.putObject(BarrelName, username + "/" + uuid+times + "." + entry.getKey(), fileInputStream,meta); - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), ImgUrlUtil.getFileSize2(new File(imgurl))); + + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, ImgUrlUtil.getFileSize2(new File(imgurl))); boolean bb= new File(imgurl).getAbsoluteFile().delete(); Print.Normal("删除情况"+bb); diff --git a/src/main/java/cn/hellohao/service/impl/OSSImageupload.java b/src/main/java/cn/hellohao/service/impl/OSSImageupload.java index b2a17d1..9f8ef2a 100644 --- a/src/main/java/cn/hellohao/service/impl/OSSImageupload.java +++ b/src/main/java/cn/hellohao/service/impl/OSSImageupload.java @@ -1,6 +1,7 @@ package cn.hellohao.service.impl; import cn.hellohao.pojo.Keys; +import cn.hellohao.pojo.ReturnImage; import cn.hellohao.utils.ImgUrlUtil; import cn.hellohao.utils.Print; import com.aliyun.oss.OSSClient; @@ -20,10 +21,10 @@ public class OSSImageupload { static OSSClient ossClient; static Keys key; - public Map ImageuploadOSS(Map fileMap, String username,Map fileMap2) throws Exception { + public Map ImageuploadOSS(Map fileMap, String username,Map fileMap2) throws Exception { if(fileMap2==null){ File file = null; - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); //设置Header ObjectMetadata meta = new ObjectMetadata(); meta.setHeader("Content-Disposition", "inline"); @@ -49,14 +50,17 @@ public class OSSImageupload { // 上传文件流。 System.out.println("待上传的图片:"+username + "/" + uuid+times + "." + entry.getKey()); ossClient.putObject(key.getBucketname(), username + "/" + uuid+times + "." + entry.getKey(),file,meta); - // 关闭OSSClient。 - //ossClient.shutdown(); - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), (int) (entry.getValue().getSize())); + + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgname(entry.getValue().getOriginalFilename()); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, (int) (entry.getValue().getSize())); } + //ossClient.shutdown(); return ImgUrl; }else{ - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); //设置Header ObjectMetadata meta = new ObjectMetadata(); meta.setHeader("Content-Disposition", "inline"); @@ -82,9 +86,13 @@ public class OSSImageupload { // 上传文件流。 System.out.println("待上传的图片:"+username + "/" + uuid+times + "." + entry.getKey()); ossClient.putObject(key.getBucketname(), username + "/" + uuid+times + "." + entry.getKey(),new File(imgurl),meta); - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), ImgUrlUtil.getFileSize2(new File(imgurl))); + + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, ImgUrlUtil.getFileSize2(new File(imgurl))); new File(imgurl).delete(); } + //ossClient.shutdown(); return ImgUrl; } diff --git a/src/main/java/cn/hellohao/service/impl/USSImageupload.java b/src/main/java/cn/hellohao/service/impl/USSImageupload.java index f953005..daf734e 100644 --- a/src/main/java/cn/hellohao/service/impl/USSImageupload.java +++ b/src/main/java/cn/hellohao/service/impl/USSImageupload.java @@ -1,6 +1,7 @@ package cn.hellohao.service.impl; import cn.hellohao.pojo.Keys; +import cn.hellohao.pojo.ReturnImage; import cn.hellohao.utils.ImgUrlUtil; import com.UpYun; import com.aliyun.oss.OSSClient; @@ -19,10 +20,10 @@ public class USSImageupload { static UpYun upyun; static Keys key; - public Map ImageuploadUSS(Map fileMap, String username,Map fileMap2) throws Exception { + public Map ImageuploadUSS(Map fileMap, String username,Map fileMap2) throws Exception { if(fileMap2==null){ File file = null; - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); //设置Header ObjectMetadata meta = new ObjectMetadata(); meta.setHeader("Content-Disposition", "inline"); @@ -31,16 +32,16 @@ public class USSImageupload { java.text.DateFormat format1 = new java.text.SimpleDateFormat("MMddhhmmss"); String times = format1.format(new Date()); file = changeFile(entry.getValue()); - - // 上传文件流。 System.out.println("待上传的图片:"+username + "/" + uuid+times + "." + entry.getKey()); - // 例2:采用数据流模式上传文件(节省内存),自动创建父级目录 upyun.setContentMD5(UpYun.md5(file)); boolean result = upyun.writeFile(username + "/" + uuid+times + "." + entry.getKey(), file, true); if(result){ - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), (int) (entry.getValue().getSize())); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgname(entry.getValue().getOriginalFilename()); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, (int) (entry.getValue().getSize())); }else{ System.err.println("上传失败"); } @@ -48,7 +49,7 @@ public class USSImageupload { } return ImgUrl; }else{ - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); //设置Header ObjectMetadata meta = new ObjectMetadata(); meta.setHeader("Content-Disposition", "inline"); @@ -57,16 +58,15 @@ public class USSImageupload { java.text.DateFormat format1 = new java.text.SimpleDateFormat("MMddhhmmss"); String times = format1.format(new Date()); String imgurl = entry.getValue(); - - // 上传文件流。 System.out.println("待上传的图片:"+username + "/" + uuid+times + "." + entry.getKey()); - // 例2:采用数据流模式上传文件(节省内存),自动创建父级目录 upyun.setContentMD5(UpYun.md5(new File(imgurl))); boolean result = upyun.writeFile(username + "/" + uuid+times + "." + entry.getKey(), new File(imgurl), true); if(result){ - ImgUrl.put(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey(), ImgUrlUtil.getFileSize2(new File(imgurl))); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgurl(key.getRequestAddress() + "/" + username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, ImgUrlUtil.getFileSize2(new File(imgurl))); }else{ System.err.println("上传失败"); } diff --git a/src/main/java/cn/hellohao/utils/LocUpdateImg.java b/src/main/java/cn/hellohao/utils/LocUpdateImg.java index 26fd564..03f7554 100644 --- a/src/main/java/cn/hellohao/utils/LocUpdateImg.java +++ b/src/main/java/cn/hellohao/utils/LocUpdateImg.java @@ -1,5 +1,6 @@ package cn.hellohao.utils; +import cn.hellohao.pojo.ReturnImage; import com.google.gson.Gson; import org.springframework.web.multipart.MultipartFile; import java.io.File; @@ -18,11 +19,11 @@ public class LocUpdateImg { - public static Map ImageuploadLOC(Map fileMap, String username, Map fileMap2) throws Exception { + public static Map ImageuploadLOC(Map fileMap, String username, Map fileMap2) throws Exception { String filePath =File.separator + "HellohaoData" + File.separator; if(fileMap2==null){ File file = null; - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); for (Map.Entry entry : fileMap.entrySet()) { String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,5);//生成一个没有-的uuid,然后取前5位 java.text.DateFormat format1 = new java.text.SimpleDateFormat("MMddhhmmss"); @@ -36,7 +37,10 @@ public class LocUpdateImg { } try { entry.getValue().transferTo(dest); - ImgUrl.put(username + "/" + uuid+times + "." + entry.getKey(), (int) (entry.getValue().getSize())); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgname(entry.getValue().getOriginalFilename()); + returnImage.setImgurl(username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put(returnImage, (int) (entry.getValue().getSize())); } catch (IOException e) { e.printStackTrace(); System.err.println("上传失败"); @@ -44,7 +48,7 @@ public class LocUpdateImg { } return ImgUrl; }else{ - Map ImgUrl = new HashMap<>(); + Map ImgUrl = new HashMap<>(); for (Map.Entry entry : fileMap2.entrySet()) { String uuid = UUID.randomUUID().toString().replace("-", "").toLowerCase().substring(0,5);//生成一个没有-的uuid,然后取前5位 @@ -62,8 +66,9 @@ public class LocUpdateImg { file.renameTo(new File(newfilePath));//只移动,源目录不存在文件 // 例2:采用数据流模式上传文件(节省内存),自动创建父级目录 //upyun.setContentMD5(UpYun.md5(new File(imgurl))); - // boolean result = upyun.writeFile(username + "/" + uuid+times + "." + entry.getKey(), new File(imgurl), true); - ImgUrl.put( username + "/" + uuid+times + "." + entry.getKey(), ImgUrlUtil.getFileSize2(new File(newfilePath))); + ReturnImage returnImage = new ReturnImage(); + returnImage.setImgurl(username + "/" + uuid+times + "." + entry.getKey()); + ImgUrl.put( returnImage, ImgUrlUtil.getFileSize2(new File(newfilePath))); } //new File(imgurl).delete(); return ImgUrl; diff --git a/src/main/java/cn/hellohao/utils/Sentence.java b/src/main/java/cn/hellohao/utils/Sentence.java index c741ed8..23d93ab 100644 --- a/src/main/java/cn/hellohao/utils/Sentence.java +++ b/src/main/java/cn/hellohao/utils/Sentence.java @@ -35,14 +35,9 @@ public class Sentence { // } // return str; - - - - - - String result = ""; - String urlName = "https://v1.hitokoto.cn/"; + //String urlName = "https://v1.hitokoto.cn/"; + String urlName = "http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"; try { URL realURL = new URL(urlName); URLConnection conn = realURL.openConnection(); @@ -66,5 +61,4 @@ public class Sentence { return result; } - } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 015ca2f..48911a9 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -6,6 +6,10 @@ spring.datasource.password=root spring.datasource.url=jdbc:mysql://localhost:3306/picturebed?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 #˿ server.port=8088 +#ڱʽ ·ʽΪÿߵִ +#޸ġԲοٷĵhttp://doc.wwery.com +Expression=0 30 04 * * ? + #±ߵҪ޸ġ mybatis.configuration.map-underscore-to-camel-case=true @@ -20,12 +24,6 @@ multipart.maxFileSize=10240KB multipart.maxRequestSize=10240KB spring.thymeleaf.mode = LEGACYHTML5 spring.http.multipart.location=/data/upload_tmp -#ʾֻ֤󣬲ûӦ -#spring.resources.cache.cachecontrol.no-cache=true -#ʾκ¶Ӧ -#spring.resources.cache.cachecontrol.no-store=true -#spring.resources.cache.cachecontrol.max-age=0 -#spring.profiles.active=dev diff --git a/src/main/resources/mapper/ConfigMapper.xml b/src/main/resources/mapper/ConfigMapper.xml index 4f01a19..df83b25 100644 --- a/src/main/resources/mapper/ConfigMapper.xml +++ b/src/main/resources/mapper/ConfigMapper.xml @@ -45,6 +45,9 @@ `background2` = #{background2}, + + `sett` = #{sett}, + where id=1 diff --git a/src/main/resources/mapper/UploadConfigMapper.xml b/src/main/resources/mapper/UploadConfigMapper.xml index f3be218..2564389 100644 --- a/src/main/resources/mapper/UploadConfigMapper.xml +++ b/src/main/resources/mapper/UploadConfigMapper.xml @@ -22,7 +22,10 @@ `imgcountuser` = #{imgcountuser}, - `suffix` = #{suffix} + `suffix` = #{suffix}, + + + `urltype` = #{urltype} diff --git a/src/main/resources/static/webuploade/js/upload.js b/src/main/resources/static/webuploade/js/upload.js index 47c924f..180601a 100644 --- a/src/main/resources/static/webuploade/js/upload.js +++ b/src/main/resources/static/webuploade/js/upload.js @@ -196,34 +196,24 @@ uploader.on( 'uploadSuccess', function(file,response) { //alert(response.length); - for(var i=0;i \r\n'; - } - // $("#urls").text(arr_url); - // $("#markdowns").text(arr_markdown); - // $("#htmls").text(arr_html); - //urls = arr_url; - if(urltypes==1){ - $("#urls").text(arr_url); - }else if(urltypes==2){ - $("#urls").text(arr_markdown); - }else{ - $("#urls").text(arr_html); - } + //console.log(response.imgurls) + $("#address").css('display', 'block'); + if(response==-1){ + arr_url += '未配置存储源,请先后台配置存储源\r\n'; + arr_markdown += '未配置存储源,请先后台配置存储源\r\n'; + arr_html += '未配置存储源,请先后台配置存储源\r\n'; + }else{ + arr_url += response.imgurls + '\r\n'; + arr_markdown += '!['+response.imgnames+'](' + response.imgurls + ')\r\n'; + arr_html += ''+response.imgnames+' \r\n'; + } + if(urltypes==1){ + $("#urls").text(arr_url); + }else if(urltypes==2){ + $("#urls").text(arr_markdown); + }else{ + $("#urls").text(arr_html); } - - - - }); // 文件上传失败,显示上传出错 diff --git a/src/main/resources/templates/admin/index.html b/src/main/resources/templates/admin/index.html index 2b0dcb5..d377b16 100644 --- a/src/main/resources/templates/admin/index.html +++ b/src/main/resources/templates/admin/index.html @@ -181,7 +181,6 @@ , layer = layui.layer }); - function exit() { $.ajax({ type: "POST", diff --git a/src/main/resources/templates/admin/webconfig.html b/src/main/resources/templates/admin/webconfig.html index 2a7e4fe..4ac6a0d 100644 --- a/src/main/resources/templates/admin/webconfig.html +++ b/src/main/resources/templates/admin/webconfig.html @@ -70,6 +70,7 @@ +
    @@ -86,6 +87,16 @@

    + + + + + + + + + + @@ -111,7 +122,10 @@ + +
    +

    游客上传配置


    @@ -151,10 +165,19 @@ 配个类型用“ , ”隔开
    - +

    图片链接格式

    +
    +
    +
    + +
    + + +
    +
    +
    保存 - @@ -168,6 +191,14 @@ var table = layui.table; var element = layui.element; }); + $(function () { + var usertype = [[${updateConfig.getUrltype()!=null?updateConfig.getUrltype():1}]]; + if(usertype==2){ + $('input:radio:input:radio:last').attr('checked', 'true'); + }else{ + $('input:radio:first').attr('checked', 'true'); + } + }); function updateconfig() { var webname = $("#webname").val(); var explain = $("#explain").val(); @@ -222,12 +253,13 @@ var imgcounttourists = $("#imgcounttourists").val(); var imgcountuser = $("#imgcountuser").val(); var suffix = $("#suffix").val(); + var imgurltype = $('#imgurltype input[name="urltype"]:checked ').val(); if(filesizetourists!=""&&filesizeuser!=""&&imgcounttourists!=""&&imgcountuser!=""&&suffix!=""){ $.ajax({ type: "POST", url: "/admin/root/scconfig", dataType: "json", - data: {filesizetourists: filesizetourists,filesizeuser:filesizeuser,imgcounttourists:imgcounttourists,imgcountuser:imgcountuser,suffix:suffix}, + data: {filesizetourists: filesizetourists,filesizeuser:filesizeuser,imgcounttourists:imgcounttourists,imgcountuser:imgcountuser,suffix:suffix,urltype:imgurltype}, success: function (data) { var vals = Number(data); if (vals > 0) { diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 04d5e42..7f82542 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -101,7 +101,7 @@ - + @@ -264,63 +264,7 @@ Technology constantly updated, we will always move forward on the road ahead. - -