【技能库】--Spring (Spring boot)MVC 移动端+PC端 上传图片(182)
来源:互联网 发布:webshell采集工具 编辑:程序博客网 时间:2024/05/18 02:11
@Controller@RequestMapping("pic")public class ImageUploadController { private static final Logger logger = LoggerFactory.getLogger(ImageUploadController.class); private static Pattern pattern = Pattern.compile("^(gif)|(jpg)|(jpeg)|(png)|(bmp)|(tif)|(tiff)$"); private static Map<String, String> contentType; static { contentType = Maps.newConcurrentMap(); contentType.put("image/tiff", ".tif"); contentType.put("image/fax", ".fax"); contentType.put("image/gif", ".gif"); contentType.put("image/x-icon", ".ico"); contentType.put("image/jpeg", ".jpg"); contentType.put("image/pnetvue", ".net"); contentType.put("image/png", ".png"); contentType.put("image/vnd.rn-realpix", ".rp"); } @Resource private UploadService uploadService; @RequestMapping(value = "/uploadImg") @ResponseBody public String uploadImg(@RequestParam(value = "pic", required = true) MultipartFile file) { final long start = System.currentTimeMillis(); try { if (file == null || file.isEmpty()) { throw new RuntimeException("图片为空"); } String fileName = file.getOriginalFilename(); String extension = Files.getFileExtension(fileName); Matcher matcher = pattern.matcher(extension.toLowerCase()); boolean match = matcher.matches(); if (!match && !contentType.containsKey(file.getContentType())) { throw new RuntimeException("图片后缀或者类型不合法"); } if (!match) { fileName = fileName.concat(contentType.get(file.getContentType())); } if (file.getBytes().length / 1024 / 1024 > 10) { throw new RuntimeException("图片太大"); } File imageFile = new File(request.getServletContext().getRealPath("/") + "/" + fileName); FileUtils.writeByteArrayToFile(imageFile, file.getBytes()); String url = uploadService.uploadFile(imageFile, fileName); return url; } catch (Exception e) { logger.error("uploadImg error ", e); return ""; } }}
0 0
- 【技能库】--Spring (Spring boot)MVC 移动端+PC端 上传图片(182)
- CKEditor图片上传实现(spring mvc)
- Spring Boot上传图片
- spring mvc 图片上传
- spring mvc 上传图片
- Spring MVC 图片上传
- Spring mvc图片上传
- spring mvc 上传图片
- spring mvc 图片上传
- spring mvc 图片上传
- spring mvc 上传图片
- Spring MVC-图片上传
- Spring MVC上传图片
- 【技能库】--Spring Boot + HTTPS 完整示例(177)
- HTML5+Spring-MVC实现手机端上传图片
- 使用spring mvc+localResizeIMG实现HTML5端图片压缩上传
- java 上传图片并裁剪(spring MVC,)
- spring mvc 文件、图片上传(极简)ajaxFileUpload
- Java关键字static,面试经常会问到(二)
- vue低仿知乎日报
- nginx在centos7的安装
- 软件测试之黑盒测试(等价类划分,边界值分析,判定表驱动)
- ListView和SQLite数据库案例--商品展示
- 【技能库】--Spring (Spring boot)MVC 移动端+PC端 上传图片(182)
- 第七章 7-7 鼠标滚轮
- Java可变参数
- java只允许单继承
- 指针和数组,const int *,sizeof,优先级等的一些坑
- Java中的数据类型
- 基础知识(一)
- 快速排序
- 单链表(合并单链表)