SpringBoot-05-之上传文件

需要使用引擎模板thymeleaf,如果不清楚,可见04--SpringBoot之模板引擎--thymeleaf

1.新建表单网页:templates/upfile.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form enctype="multipart/form-data" method="post" action="/upload">
    文件上传<input type="file" name="file"/>
    <input type="submit" value="上传"/>
</form>
</body>
</html>
2.控制器:toly1994.com.toly01.controller.UpFileController
/**
 * 作者:张风捷特烈
 * 时间:2018/5/29:23:15
 * 邮箱:1981462002@qq.com
 * 说明:文件上传控制器
 */
@Controller
public class UpFileController {
    @GetMapping("/upload_html")
    public String uploadHtml() {
        return "upfile";
    }

    //处理文件上传
    @PostMapping(value = "/upload")
    public @ResponseBody
    String uploadImg(
            @RequestParam("file") MultipartFile file, HttpServletRequest request) {

        if (file.isEmpty()) {
            return "false";
        }
        String fileName = file.getOriginalFilename();//获取名字

        String path = "F:/test";
        File dest = new File(path + "/" + fileName);
        if (!dest.getParentFile().exists()) { //判断文件父目录是否存在
            dest.getParentFile().mkdir();
        }
        try {
            file.transferTo(dest); //保存文件
            return "上传成功!";
        } catch (IllegalStateException | IOException e) {
            e.printStackTrace();
            return "上传失败!";
        }
    }
}

upload.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CodingBlock

Android查缺补漏(IPC篇)-- 进程间通讯基础知识热身

本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8479282.html

11620
来自专栏about云

flume搜集日志:如何解决实时不断追加的日志文件及不断增加的文件个数问题

本文的背景: 在搜集日志的过程中,日志文件的个数及日志文件需要不断的追加。flume1.6中,可以使用tail -f可以解决不断追加的文件,但是由于日志文件的个...

42970
来自专栏Ken的杂谈

Spring Cloud 入门教程5、服务容错监控:Hystrix Dashboard

上一篇我们介绍了Hystrix的基础使用,我们可以通过Hystrix做到依赖隔离和熔断等操作。但是只有工具的使用而没有监控,我们就无法在第一时间发现出现问题的依...

66910
来自专栏菩提树下的杨过

spring-boot 速成(7) 集成dubbo

github上有一个开源项目spring-boot-starter-dubbo 提供了spring-boot与dubbo的集成功能,直接拿来用即可。(记得给作者...

49060
来自专栏yukong的小专栏

【SpringBoot2.0系列08】SpringBoot之redis数据缓存管理

【SpringBoot2.0系列02】SpringBoot之使用Thymeleaf视图模板

20140
来自专栏CodingBlock

Android查缺补漏(IPC篇)-- 进程间通讯基础知识热身

本文作者:CodingBlock 文章链接:http://www.cnblogs.com/codingblock/p/8479282.html

11440
来自专栏三丰SanFeng

无锁编程(六) - seqlock(顺序锁)

seqlock(顺序锁) 用于能够区分读与写的场合,并且是读操作很多、写操作很少,写操作的优先权大于读操作。 seqlock的实现思路是,用一个递增的整型数表...

25570
来自专栏老码农专栏

原 荐 用 ActFramework 写一个

63790
来自专栏晓晨的专栏

Visual Studio 2017 设置透明背景图

给大家分享一下,如何为VS2017设置透明背景图。下面是一张设置前和设置后的图片。

17830
来自专栏云原生架构实践

Jhipster技术栈定制 - 基于UAA的微服务之间安全调用

3个微服务都是通过Jhipster生成。 工程代码生成完之后,根据上一节启动的组件的实际情况,修改微服务配置文件中Eureka和database相关的配置。

1K30

扫码关注云+社区

领取腾讯云代金券