网站首页 > 精选教程 正文
以前写SSM项目的时候,部署如果是用Tomact的话,上传文件存放会变得非常简单,文件上传可以传到webapp下。是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了。解决SpringBoot项目的文件上传和下载至少有三种方式:
一、将文件存放在硬盘的某个目录,用Java去读取下载:
适用场景:这种方式适用于小项目,单个服务器部署。
上传文件:
/** * 上传文件 */ @RequestMapping(method = RequestMethod.POST, path = "/upload") @ResponseBody public String upload(@RequestPart("file") MultipartFile file) { try { // 得到上传时的文件名 String originalFilename = file.getOriginalFilename(); String fileSavePath = "/myproject/upload/"; file.transferTo(new File(fileSavePath + originalFilename)); } catch (Exception e) { e.printStackTrace(); return "上传失败"; } return "上传成功"; }
下载文件:
/** * 下载文件 * */ @RequestMapping("/{fileName}") public void renderPicture(@PathVariable("fileName") String fileName, HttpServletResponse response) { try { byte[] bytes = FileUtil.toByteArray("/myproject/files/" + fileName); response.getOutputStream().write(bytes); } catch (Exception e) { //如果找不到文件就返回一个默认图片 try { response.sendRedirect("/static/img/default.gif"); } catch (IOException e1) { e1.printStackTrace(); } } }
二、将文件存放在硬盘的某个目录,配置Nginx去下载;
适用场景:这种方式适用于不考虑分布式部署的项目。
上传方式跟上面的一样。下载文件则需要配置Nginx去访问文件。
三、使用云存储上传下载。
适用场景:大型项目建议使用,尤其是分布式部署的项目。
阿里云、七牛云、腾讯云等等,有好多家,都可以实现。有的可以通过Javascript前端上传,有的则需要上传到服务器然后再往云存储上传。云存储提供商会提供免费子域名来访问,有的也可以绑定自己的域名,还可以提供图片防盗链等等功能。
猜你喜欢
- 2024-10-05 HTTP 大文件上传解决方案(500M以上)
- 2024-10-05 python如何管理和远程配置nginx python远程部署
- 2024-10-05 黑客技术分享之文件上传姿势整理(附实战)
- 2024-10-05 使用 Python Flask 创建简易文件上传服务
- 2024-10-05 scp文件传输命令详解,每日一命令
- 2024-10-05 H5+JAVA的文件上传,断点续传 我的世界java版珍妮模组文件电脑下载
- 2024-10-05 如何实现大文件上传、断点续传、切片上传
- 2024-10-05 JumpServer 中上传文件大小和上传文件的超时时间配置方式
- 2024-10-05 Nginx大文件传输配置 nginx传输大数据配置
- 2024-10-05 nginx 开启高效文件传输模式 nginx 开启高效文件传输模式有什么用
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)