SpringBoot 三行代码实现图片上传和预览功能

29 篇文章 3 订阅
9 篇文章 0 订阅
1.搭建SpringBoot的demo项目

为了方便做demo,首先搭建SpringBoot的项目;通过SPRING INITIALIZR来快速生成springBoot项目;


这里选择gradle,依赖选择web即可,点击生成按钮,然后把项目导入到intellij中;默认的项目结构如图


2.添加jsp的支持

这里添加jsp的支持是为了做个简单的上传页面;只需要引入jsp的jar即可,gradle添加依赖

compile('org.apache.tomcat.embed:tomcat-embed-jasper')

然后配置视图的解析,在application.properties中添加

spring.mvc.view.prefix: /WEB-INF/jsp/
spring.mvc.view.suffix: .jsp

这个其实是对返回的视图解析的,比如


这里请求http://localhost:8080/he,返回的视图就是/WEB-INF/jsp/hello.jsp;

3.上传功能

首先做个简单前端jsp页面,添加一个表单控件来提交上传文件功能;index.jsp代码如下

<html>
<body>
<form method="POST" action="/upload" enctype="multipart/form-data">
    <input type="file" name="file" /><br/><br/>
    <input type="submit" value="Submit" />
</form>
</body>
</html>

这里就是选择一个文件,然后提交,路径是/upload;那么需要有一个controller来处理上传逻辑;后台的上传逻辑如下;


这里通过IOUtils.copy方法,把文件的输入流拷贝到指定路径的输出流里面就可以了;

4.文件预览功能

对于图片的请求,可以通过ngix把整个图片文件夹映射出去作为静态文件目录对外访问,也可以直接通过api接口对外提供访问;代码如下


这样的好处是处理更灵活,可以对图片作更多的操作,比如用户上传的头像没有的情况下,预览可以提供个默认的图片,也可以提供头像图片的缩略图,这样减少网络请求;


  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值