|
@@ -4,8 +4,10 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.io.FileUtil;
|
|
|
import cn.hutool.core.lang.Assert;
|
|
|
import cn.hutool.core.map.MapUtil;
|
|
|
+import cn.hutool.core.util.IdUtil;
|
|
|
import cn.hutool.core.util.IdcardUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
@@ -3520,4 +3522,38 @@ public class ApiController {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 小程序上传
|
|
|
+ * @param file 资源
|
|
|
+ * @return R(/ admin / bucketName / filename)
|
|
|
+ */
|
|
|
+ @PostMapping("/file/upload/mobile")
|
|
|
+ public R uploadForMobile(@RequestParam("file") MultipartFile file) {
|
|
|
+
|
|
|
+ String originalFilename = file.getOriginalFilename();
|
|
|
+
|
|
|
+ String extName = FileUtil.extName(originalFilename);
|
|
|
+
|
|
|
+ List<String> IMG_EXT_NAME= Arrays.asList("png", "jpg", "gif","jpeg","tif","bmp");
|
|
|
+
|
|
|
+ log.info("源文件名称:{}", originalFilename);
|
|
|
+ log.info("源文件后缀:{}", extName);
|
|
|
+ if (IMG_EXT_NAME.contains(extName)){
|
|
|
+ HnqzUser user = SecurityUtils.getUser();
|
|
|
+ log.info("用户:{}",user);
|
|
|
+ if (user == null){
|
|
|
+ return R.failed("无法获取用户id");
|
|
|
+ }
|
|
|
+ Integer id = user.getId();
|
|
|
+ Boolean aBoolean = redisTemplate.opsForValue().setIfAbsent(String.format("%s:%s", id, originalFilename), IdUtil.fastSimpleUUID(), 7, TimeUnit.DAYS);
|
|
|
+
|
|
|
+ if (aBoolean != null && !aBoolean){
|
|
|
+ return R.failed("请勿上传重复的文件");
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return sysFileService.uploadFile(file);
|
|
|
+ }
|
|
|
}
|