file 图片上传 java_Java MultipartFile 上传文件/上传图片 亲测
Java MultipartFile 上传文件/上传图片
1. 判断允许上传文件的 文件后缀/图片后缀/相片后缀 和 其它工具类
2. 上传接口
3. 上传成功
1. 判断允许上传文件的 文件后缀/图片后缀/相片后缀 和 其它工具类
import org.springframework.stereotype.Component;
import java.io.File;
import java.util.Arrays;
import java.util.List;
@Component
public class FileUtil {
public static final ListIMAGE_EXTENSIONS = Arrays.asList(".jpg", ".jpeg", ".png");
}
import java.util.UUID;
public class CommonUtil {
public static String getUUID() {
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
return uuid;
}
}
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class DateUtil {
public static final String HH = "HH";
public static final String YYYY_MM_DD = "yyyy-MM-dd";
public static final DateTimeFormatter FORMATTER_HH = DateTimeFormatter.ofPattern(HH);
public static final DateTimeFormatter FORMATTER_YYYY_MM_DD = DateTimeFormatter.ofPattern(YYYY_MM_DD);
public static String getHH() {
return FORMATTER_HH.format(LocalDateTime.now());
}
public static String getYYYYMMDD() {
return FORMATTER_YYYY_MM_DD.format(LocalDateTime.now());
}
}
2. 上传接口
@PostMapping("/updateImage.do")
public MapupdateImage(@RequestParam("image") MultipartFile[] multfiles) {
Mapresult = new HashMap<>();
if (multfiles.length == 0) {
result.put("message", "请选择图片!");
return result;
}
// 源文件名称
final String originalFileName = multfiles[0].getOriginalFilename();
if (StringUtils.isBlank(originalFileName)) {
result.put("message", "请选择图片!");
return result;
}
// 文件后缀[.jpg]
final String suffix = originalFileName.substring(originalFileName.lastIndexOf(".")).toLowerCase();
if (!FileUtil.IMAGE_EXTENSIONS.contains(suffix)) {
result.put("message", "图片格式错误!");
return result;
}
String lastFilePath;
String newFileName = CommonUtil.getUUID() + suffix;
String folderName = File.separator + "temp" + File.separator;
String relativePath = folderName + DateUtil.getYYYYMMDD() + File.separator + DateUtil.getHH();
String filePath = "D:\\file" + relativePath;
String fileUrl = null;
File targetFile = new File(filePath);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
FileOutputStream out = null;
try {
lastFilePath = filePath + File.separator + newFileName;
out = new FileOutputStream(lastFilePath);
out.write(multfiles[0].getBytes());
fileUrl = "http://127.0.0.1:9000" + relativePath + File.separator + newFileName;
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
try {
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
if (fileUrl == null) {
result.put("message", "图片上传失败!");
return result;
}
result.put("message", "上传成功!");
result.put("url", fileUrl);
return result;
}
3. 上传成功
url => http://127.0.0.1:9000/temp/2019-09-12/14/0eac00b96f134652b34172e84febe8d1.jpg
如果您觉得有帮助,欢迎点赞哦 ~ 谢谢!!
file 图片上传 java_Java MultipartFile 上传文件/上传图片 亲测相关推荐
- transporter上传卡正在交付_Xcode11使用Transporter上传AppStore时卡住解决方式,亲测可用...
Xcode11使用Transporter上传AppStore时卡住解决方式,亲测可用 在Authenticating with the iTunes store(即AppStore认证)卡住 解决办法 ...
- git如何删除github上的文件,亲测有效
目录 问题描述: 问题解决: 问题描述: github是一个很好的代码托管网站,但是有一个不太好的地方,只能删除仓库,不能删除仓库中的文件.一旦上传错误,就跟尴尬,纪录下踩过的坑. 成功删除不要的文件 ...
- java读取服务器图片大小,SpringMVC中MultipartFile上传获取图片的宽度和高度详解
SpringMVC一般使用MultipartFile来做文件的上传,通过MultipartFile的getContentType()方法判定文件的类型(MIME) ".doc":& ...
- wcf服务器上传文件大小限制,wcf 上传大文件例子(亲测通过)
[实例简介] 亲测可以上传 300M的大文件,如果想上传更大的文件 请按照此链接提示做配置修改即可 http://www.cnblogs.com/duanweishi/p/5408395.html P ...
- tensorflow在AMD上用ROCm框架实现GPU训练(亲测有效)
众所周知,a卡对于tensorflow gpu的支持很小,要想使用的话一般都得配n卡的电脑.而我只是感兴趣一个项目,想要跑出来一个模型,如果不用gpu加速,可能得跑一个月,所以不得不寻找在a卡上的解决 ...
- 在钉钉上怎么手写_胖·评测|亲测!磐度A5数字纸笔手写板能适配多少直播平台?...
停课不停学,各大科技企业纷纷推出各类教学平台吗,一时之间可谓百家争鸣!但是对于一线教师而言,除了为可怕的直播拥堵与繁琐的直播操作而头痛之外,一个更可怕的事实出现了--解题答疑,没有趁手的好工具怎么搞定 ...
- 图片批量转为PDF怎么转?这些方法亲测实用
你们平时在整理照片的时候,有把多张图片转为PDF文件的需求吗?我因为工作需要,会拍摄和存储很多照片,而且经常需要将这些照片归类,整合到一个PDF文件中.可能有的小伙伴还不知道多张图片转PDF怎么转 ...
- summernote支持视频上传功能,综合几个版本亲测可用
原框架只支持视频链接上传,局限性比较大,不能上传本地的视频,综合这我查了几天资料 ,有个版本要么可用但是部分图标显示错误,综合0.8.12和0.8.18 版本整理.增加上传内容转载其他处,其余的均是自 ...
- 通过git上传代码到代码库步骤(亲测有效)
1.git init(仓库初始化操作) 2.git remote add origin git@github.com:architectMymine/test.git(仓库地址)创建上传地址 3.gi ...
- 如何将电影台词拼接到一张图上?这4种台词拼接方法亲测好用
分享4个台词截图拼接工具,简单方便,拼接效果好,喜欢在分享各种电影截图的可以去用了! 1.截图拼接工具 一个免费好用的截图拼接在线工具,打开它直接就能使用了,上传多张图片之后,调整红色区域,选择字幕的 ...
最新文章
- jquery带token访问接口ajax
- 安卓通讯录系统mysql_Android手机通讯录项目开发--联系人数据库contacts2.db介绍
- 官宣:神策数据证券行业解决方案,全新上线官网!
- Java lambda expression
- Java讲课笔记08:数组
- 初探 vue 插件开发
- html5media 原理,HTML媒体(Media)是什么
- bower安装使用入门详情
- Java IO--字节-字符流转换
- 力扣-628 三个数的最大乘积
- Qt项目--截屏软件
- 金盾播放器android安卓,金盾高级视频加密系统跨平台播放器Android安卓安装步骤.doc...
- 谷歌浏览器怎么设置成暗黑模式
- 【踩坑】python: This install of SoX cannot process .mp3 files
- 【面试】TCP、UDP、Socket、HTTP网络编程面试题
- 400万像素摄像头,你还在用百兆交换机吗?
- Centos搭建配置SDN
- jetson nx fan auto pwm
- Ubuntu屏幕录像软件推荐-Kazam
- 单链表反转 | 不合法的路径地址转变为合法路径