1、上传到本地服务器

controller层主要以MultipartFile接收即可,这里返回给前端的该文件保存后的相对路径

    @RequestMapping(value = "/application/file/upload", method = RequestMethod.POST)
public Object uoloadFile(@RequestParam("file") MultipartFile file) {
return buildMessage(ResultModel.SUCCESS, appService.uoloadFile(file));
}

2.下面看下service层upload的具体实现:

    public String uploadFile(MultipartFile file) throws NotifyException {
// 首先校验图片格式
List<String> imageType = Lists.newArrayList("jpg","jpeg", "png", "bmp", "gif");
// 获取文件名,带后缀
String originalFilename = file.getOriginalFilename();
// 获取文件的后缀格式
String fileSuffix = originalFilename.substring(originalFilename.lastIndexOf(".") + 1).toLowerCase();
if (imageType.contains(fileSuffix)) {
// 只有当满足图片格式时才进来,重新赋图片名,防止出现名称重复的情况
String newFileName = UUIDTypeHandler.createUUID() + originalFilename;
// 该方法返回的为当前项目的工作目录,即在哪个地方启动的java线程
String dirPath = System.getProperty("user.dir");
String path = File.separator + "uploadImg" + File.separator + newFileName;
File destFile = new File(dirPath + path);
if (!destFile.getParentFile().exists()) {
destFile.getParentFile().mkdirs();
}
try {
file.transferTo(destFile);
// 将相对路径返回给前端
return path;
} catch (IOException e) {
log.error("upload pic error");
return null;
}
} else {
// 非法文件
log.error("the picture's suffix is illegal");
throw new NotifyException(ExceptionConstants.FILE_UPLOAD_ERROR);
}
}

上述代码是以上传图片为例,上传文件同理,只要去掉图片格式验证即可

SpringBoot用户头像上传的更多相关文章

  1. spring--mvc添加用户及用户头像上传

    spring--mvc添加用户及用户头像上传 添加用户步骤: 1.用ajax获取省份信息 2.添加用户 代码:register.jsp <meta http-equiv="Conten ...

  2. Django项目实战之用户头像上传与访问

      1 将文件保存到服务器本地 upload.html <!DOCTYPE html> <html lang="en"> <head> < ...

  3. Django用户头像上传

    1 将文件保存到服务器本地 upload.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <!DOCTYPE html> <html ...

  4. Django项目实战—用户头像上传

    1 将文件保存到服务器本地 upload.html <!DOCTYPE html> <html lang="en"> <head> <me ...

  5. 使用jquery的imagecropper插件做用户头像上传 兼容移动端

    在移动端开发的过程中,或许会遇到对图片裁剪的问题.当然遇到问题问题,不管你想什么方法都是要进行解决的,哪怕是丑点,难看点,都得去解决掉. 图片裁剪的jquery插件有很多,我也测试过很多,不过大多数都 ...

  6. Vue+axios+Node+express实现文件上传(用户头像上传)

    Vue 页面的代码 <label for='my_file' class="theme-color"> <mu-icon left value="bac ...

  7. python全栈开发day75-用户注册页面ajax实现,用户头像上传、预览、展示

    一.昨日内容回顾 1. 内容回顾 1. BBS项目登录 1. 登录用form组件和auth模块 1. form组件做校验很方便 2. auth模块 - authenticate(username=xx ...

  8. 微信小程序--更换用户头像/上传用户头像/更新用户头像

    changeAvatar:function (){ var that=this; wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'c ...

  9. Canvas处理头像上传

    未分类 最近社区系统需要支持移动端,其中涉及到用户头像上传,头像有大中小三种尺寸,在PC端,社区用Flash来处理头像编辑和生成,但该Flash控件的界面不友好而且移动端对Flash的支持不好,考虑到 ...

  10. day105:Mofang:设置页面初始化&更新头像/上传头像&设置页面显示用户基本信息

    目录 1.设置页面初始化 2.更新头像 1.点击头像进入更新头像界面 2.更新头像页面初始化 3.更新头像页面CSS样式 4.头像上传来源选择:相册/相机 5.调用api提供的本地接口从相册/相机提取 ...

随机推荐

  1. Ubuntu22.04下安装chrome浏览器

    Ubuntu下Chrome的下载: 地址: https://www.google.cn/intl/zh-CN/chrome/ 下载后的文件: 安装: 命令: sudo dpkg -i google-c ...

  2. 查看numpy中不同数据类型的表示范围

    在numpy中数据类型主要可以分为int和float两个类型,查看int类型的表示范围可以使用numpy.iinfo,查看float类型的表示范围可以使用numpy.finfo  . 例子: impo ...

  3. &times被替换成x 的解决办法

    今天写代码遇到一个很有趣的问题: 在php中使用echo 输出url的时候当url中包含&times字段时就会被html直接解析成 x (乘号)这样一来我返回的地址就不能正常访问url了: 解 ...

  4. vue 文件流下载

    /**  * 文件转为文件流  * @param {file} file //文件  */ export function getFileBlob(file) {   var dataUrl   va ...

  5. MySQL 5.7 DDL 与 GH-OST 对比分析

    作者:来自 vivo 互联网存储研发团队- Xia Qianyong 本文首先介绍MySQL 5.7 DDL以及GH-OST的原理,然后从效率.空间占用.锁阻塞.binlog日志产生量.主备延时等方面 ...

  6. 文件IO常用的函数接口

    本文归纳整理了常用的文件IO常见的函数接口及其用法,以供读者查阅 目录 打开文件 fopen 关闭文件 fclose 数据读取 字符读取:fgetc.getc.getchar 按行读取:fgets.g ...

  7. 14-canvas绘制柱状图

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  8. SMU Summer 2024 Contest Round 3

    SMU Summer 2024 Contest Round 3 寻找素数对 题意 给你一个偶数,找到两个最接近的素数,其和等于该偶数. 思路 处理出 1e5 以内的素数,然后遍历,更新最接近的答案. ...

  9. CDH添加es服务

    地址:https://blog.csdn.net/guoliduo/article/details/105072857 注意:目前只支持cdh5.x的版本安装es,cdh6.x暂不支持.

  10. 【Python爬虫】之爬取页面内容、图片以及用selenium爬取

    下面不做过多文字描述: 首先.安装必要的库 # 安装BeautifulSoup pip install beautifulsoup4 # 安装requests pip install requests ...