首页>代码>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(); } }

心中无码 LV5
2024年12月9日
3305787467 LV12
2023年6月3日
hdell65 LV6
2022年10月5日
MangoCooper LV1
2022年7月8日
ZER0ZER0 LV3
2022年5月30日
wanglinddad LV55
2022年4月12日
y1214435276 LV9
2022年4月11日
xiex909 LV27
2022年3月17日
爱写代码 LV12
2021年12月20日
Mayoubin2001 LV21
2021年12月19日