首页>代码>docker+spring boot+mybatis+druid+Thymeleaf+mysql整合开发个人博客系统,包括后台管理系统>/My-Blog-master/src/main/java/com/my/blog/website/controller/admin/AttachController.java
package com.my.blog.website.controller.admin; import com.github.pagehelper.PageInfo; import com.my.blog.website.constant.WebConst; import com.my.blog.website.controller.BaseController; import com.my.blog.website.dto.LogActions; import com.my.blog.website.dto.Types; import com.my.blog.website.exception.TipException; import com.my.blog.website.modal.Bo.RestResponseBo; import com.my.blog.website.modal.Vo.AttachVo; import com.my.blog.website.modal.Vo.UserVo; import com.my.blog.website.service.IAttachService; import com.my.blog.website.service.ILogService; import com.my.blog.website.utils.Commons; import com.my.blog.website.utils.TaleUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.FileCopyUtils; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.List; /** * 附件管理 * * Created by 13 on 2017/2/21. */ @Controller @RequestMapping("admin/attach") public class AttachController extends BaseController { private static final Logger LOGGER = LoggerFactory.getLogger(AttachController.class); public static final String CLASSPATH = TaleUtils.getUplodFilePath(); @Resource private IAttachService attachService; @Resource private ILogService logService; /** * 附件页面 * * @param request * @param page * @param limit * @return */ @GetMapping(value = "") public String index(HttpServletRequest request, @RequestParam(value = "page", defaultValue = "1") int page, @RequestParam(value = "limit", defaultValue = "12") int limit) { PageInfo<AttachVo> attachPaginator = attachService.getAttachs(page, limit); request.setAttribute("attachs", attachPaginator); request.setAttribute(Types.ATTACH_URL.getType(), Commons.site_option(Types.ATTACH_URL.getType(), Commons.site_url())); request.setAttribute("max_file_size", WebConst.MAX_FILE_SIZE / 1024); return "admin/attach"; } /** * 上传文件接口 * * @param request * @return */ @PostMapping(value = "upload") @ResponseBody @Transactional(rollbackFor = TipException.class) public RestResponseBo upload(HttpServletRequest request, @RequestParam("file") MultipartFile[] multipartFiles) throws IOException { UserVo users = this.user(request); Integer uid = users.getUid(); List<String> errorFiles = new ArrayList<>(); try { for (MultipartFile multipartFile : multipartFiles) { String fname = multipartFile.getOriginalFilename(); if (multipartFile.getSize() <= WebConst.MAX_FILE_SIZE) { String fkey = TaleUtils.getFileKey(fname); String ftype = TaleUtils.isImage(multipartFile.getInputStream()) ? Types.IMAGE.getType() : Types.FILE.getType(); File file = new File(CLASSPATH+fkey); try { FileCopyUtils.copy(multipartFile.getInputStream(),new FileOutputStream(file)); } catch (IOException e) { e.printStackTrace(); } attachService.save(fname, fkey, ftype, uid); } else { errorFiles.add(fname); } } } catch (Exception e) { return RestResponseBo.fail(); } return RestResponseBo.ok(errorFiles); } @RequestMapping(value = "delete") @ResponseBody @Transactional(rollbackFor = TipException.class) public RestResponseBo delete(@RequestParam Integer id, HttpServletRequest request) { try { AttachVo attach = attachService.selectById(id); if (null == attach) return RestResponseBo.fail("不存在该附件"); attachService.deleteById(id); new File(CLASSPATH+attach.getFkey()).delete(); logService.insertLog(LogActions.DEL_ARTICLE.getAction(), attach.getFkey(), request.getRemoteAddr(), this.getUid(request)); } catch (Exception e) { String msg = "附件删除失败"; if (e instanceof TipException) msg = e.getMessage(); else LOGGER.error(msg, e); return RestResponseBo.fail(msg); } return RestResponseBo.ok(); } }
最近下载更多
3305787467 LV12
2023年6月3日
hdell65 LV6
2022年10月5日
MangoCooper LV1
2022年7月8日
ZER0ZER0 LV3
2022年5月30日
wanglinddad LV54
2022年4月12日
y1214435276 LV9
2022年4月11日
xiex909 LV27
2022年3月17日
爱写代码 LV12
2021年12月20日
Mayoubin2001 LV21
2021年12月19日
893213895 LV18
2021年12月17日
最近浏览更多
WBelong LV7
2023年12月27日
fff2003 LV6
2023年11月19日
漫步的海星 LV4
2023年9月21日
周敏国 LV9
2023年9月21日
taoshen95 LV14
2023年8月19日
tangyongheng08 LV6
2023年7月1日
3416059514 LV1
2023年6月23日
include LV8
2023年6月20日
chenhs
2023年6月20日
暂无贡献等级
mengmeng12323423 LV3
2023年6月17日