|
@@ -3,10 +3,18 @@ package com.ym.mec.web.controller;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiParam;
|
|
|
|
|
|
+import java.io.File;
|
|
|
+import java.io.IOException;
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Random;
|
|
|
+
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.util.Base64Utils;
|
|
|
import org.springframework.web.bind.annotation.PostMapping;
|
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
@@ -28,6 +36,8 @@ public class UploadFileController extends BaseController {
|
|
|
|
|
|
@Autowired
|
|
|
private UploadFileService uploadFileService;
|
|
|
+
|
|
|
+ private SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
|
|
|
|
|
|
@PostMapping(value = "uploadFile")
|
|
|
public Object uploadFile(@ApiParam(value = "上传的文件", required = true) @RequestParam("file") MultipartFile file) {
|
|
@@ -45,4 +55,33 @@ public class UploadFileController extends BaseController {
|
|
|
}
|
|
|
return failed("上传失败");
|
|
|
}
|
|
|
+
|
|
|
+ @PostMapping(value = "uploadFileWithBase64")
|
|
|
+ public Object uploadFileWithBase64(String fileName, String extName, String base64Str) throws IOException {
|
|
|
+ if (StringUtils.isBlank(fileName)) {
|
|
|
+ return failed("文件名不能为空");
|
|
|
+ }
|
|
|
+
|
|
|
+ base64Str = base64Str.replaceAll("data:image/"+ extName +";base64,", "");
|
|
|
+
|
|
|
+ String tmpfileName = sdf.format(new Date()) + (new Random().nextInt(9000) % (9000 - 1000 + 1) + 1000) + "." + extName;
|
|
|
+
|
|
|
+ File file = new File(tmpfileName);
|
|
|
+
|
|
|
+ FileUtils.writeByteArrayToFile(file, Base64Utils.decodeFromString(base64Str));
|
|
|
+
|
|
|
+ if (file.exists()) {
|
|
|
+ UploadReturnBean bean = uploadFileService.uploadFile(FileUtils.openInputStream(file), UploadUtil.getExtension(fileName));
|
|
|
+ bean.setName(fileName);
|
|
|
+
|
|
|
+ FileUtils.deleteQuietly(file);
|
|
|
+
|
|
|
+ if (bean.isStatus()) {
|
|
|
+ return succeed(bean);
|
|
|
+ }
|
|
|
+ return failed(bean.getMessage());
|
|
|
+ }
|
|
|
+
|
|
|
+ return failed();
|
|
|
+ }
|
|
|
}
|