From d0455014c8151d77bbc06721893ada5028faedd5 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 20 May 2020 23:27:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/controller/FileController.java | 49 +++++++++++++++++++ .../java/com/kiisoo/ic/config/WebConfig.java | 1 + src/main/resources/application-dev.yml | 2 + 3 files changed, 52 insertions(+) create mode 100644 src/main/java/com/kiisoo/ic/activity/controller/FileController.java diff --git a/src/main/java/com/kiisoo/ic/activity/controller/FileController.java b/src/main/java/com/kiisoo/ic/activity/controller/FileController.java new file mode 100644 index 0000000..550a2eb --- /dev/null +++ b/src/main/java/com/kiisoo/ic/activity/controller/FileController.java @@ -0,0 +1,49 @@ +package com.kiisoo.ic.activity.controller; + +import com.kiisoo.ic.common.BaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.FileOutputStream; +import java.util.Map; +import java.util.UUID; + +@RestController +@Api(value = "后台-上传文件", tags = {"后台-上传文件"}) +@Slf4j +public class FileController extends BaseController { + + @ApiOperation(value = "上传文件") + @PostMapping(value = "/upload") + public Map upload(@RequestParam(value = "file", required = false) MultipartFile file) { + if (file == null) return fail(); + String fileName = file.getOriginalFilename(); + if (fileName == null) return fail(); + fileName = renameToUUID(fileName); + try { + File targetPath = new File("upload"); + if (!targetPath.exists()) { + boolean state = targetPath.mkdirs(); + } + FileOutputStream out = new FileOutputStream("upload" + fileName); + out.write(file.getBytes()); + out.flush(); + out.close(); + } catch (Exception e) { + log.error("上传出错", e); + return fail(); + } + return data("/upload" + fileName); + } + + private String renameToUUID(String filename) { + return UUID.randomUUID() + "." + filename.substring(filename.lastIndexOf(".") + 1); + } +} diff --git a/src/main/java/com/kiisoo/ic/config/WebConfig.java b/src/main/java/com/kiisoo/ic/config/WebConfig.java index 487915d..88b424e 100644 --- a/src/main/java/com/kiisoo/ic/config/WebConfig.java +++ b/src/main/java/com/kiisoo/ic/config/WebConfig.java @@ -10,5 +10,6 @@ public class WebConfig implements WebMvcConfigurer { public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/"); + registry.addResourceHandler("/upload/**").addResourceLocations("file:/usr/local/share/applications/bsdgy/upload"); } } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 637ea64..1995ae5 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -22,6 +22,8 @@ server: servlet: context-path: /kiisoo-ic +upload: + path: /usr/local/share/applications/bsdgy/upload bsd: vip: http://vtest.bsd.cn/BSD_WXAPP/miniProgram/getMemberDtlByUnionId