SpringBoot(3) 文件上传和访问
springboot文件上传 MultipartFile file,源自SpringMVC
MultipartFile 对象的transferTo方法,用于文件保存(效率和操作比原先用FileOutStream方便和高效)
- @Controller
- public class FileController {
- private static final String filePath = "D:/.../src/main/resources/static/images/";
- @RequestMapping(value = "upload")
- @ResponseBody
- public JsonData upload(@RequestParam("head_img") MultipartFile file,HttpServletRequest request) {
- //file.isEmpty(); 判断图片是否为空
- //file.getSize(); 图片大小进行判断
- String name = request.getParameter("name");
- System.out.println("用户名:"+name);
- // 获取文件名
- String fileName = file.getOriginalFilename();
- System.out.println("上传的文件名为:" + fileName);
- // 获取文件的后缀名,比如图片的jpeg,png
- String suffixName = fileName.substring(fileName.lastIndexOf("."));
- System.out.println("上传的后缀名为:" + suffixName);
- // 文件上传后的路径
- fileName = UUID.randomUUID() + suffixName;
- System.out.println("转换后的名称:"+fileName);
- File dest = new File(filePath + fileName);
- try {
- file.transferTo(dest);
- return new JsonData(0, fileName);
- } catch (IllegalStateException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return new JsonData(-1, "fail to save ", null);
- }
- }
前端简易代码
- <!DOCTYPE html>
- <html>
- <head>
- <title>uploadimg.html</title>
- <meta name="keywords" content="keyword1,keyword2,keyword3"></meta>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <script src="/js/test.js" type="text/javascript"></script>
- </head>
- <body>
- <form enctype="multipart/form-data" method="post" action="/upload">
- 文件:<input type="file" name="head_img"/>
- 姓名:<input type="text" name="name"/>
- <input type="submit" value="上传"/>
- </form>
- </body>
- </html>
文件大小配置,启动类里面配置
- @Bean
- public MultipartConfigElement multipartConfigElement() {
- MultipartConfigFactory factory = new MultipartConfigFactory();
- //单个文件最大
- factory.setMaxFileSize("10240KB"); //KB, MB
- //设置总上传的数据大小
- factory.setMaxRequestSize("1024000KB");
- return factory.createMultipartConfig();
- }
在application.properties中添加上传路径,可用于在文件上传后的直接访问
- web.upload-path=D:/.../src/main/resources/static/images/
- spring.resources.static-locations=...:${web.upload-path}
SpringBoot(3) 文件上传和访问的更多相关文章
- SpringBoot 整合文件上传 elment Ui 上传组件
SpringBoot 整合文件上传 elment Ui 上传组件 本文章记录 自己学习使用 侵权必删! 前端代码 博主最近在学 elment Ui 所以 前端使用 elmentUi 的 upload ...
- ie下文件上传无权访问的问题
最近项目遇到个问题,ie下文件上传无权访问,在网上找了很久才找到答案,原来是因为ie下不能用js触发input=file的点击事件,必须手动点击才可以.
- SpringBoot图文教程4—SpringBoot 实现文件上传下载
有天上飞的概念,就要有落地的实现 概念+代码实现是本文的特点,教程将涵盖完整的图文教程,代码案例 文章结尾配套自测面试题,学完技术自我测试更扎实 概念十遍不如代码一遍,朋友,希望你把文中所有的代码案例 ...
- SpringBoot实现文件上传
前言参考:快速开发第一个SpringBoot应用 这篇文章会讲解如何使用SpringBoot完成一个文件上传的过程,并且附带一些SpringBoot开发中需要注意的地方 首先我们写一个文件上传的htm ...
- springboot+web文件上传和下载
一.首先安装mysql数据库,开启web服务器. 二.pom.xml文件依赖包配置如下: <?xml version="1.0" encoding="UTF-8&q ...
- SpringBoot的文件上传
先在src/main/resources下新建一个static目录用以存放html页面,简单的html页面如下 <!DOCTYPE html> <html> <head& ...
- springBoot的文件上传功能
知识点: 后台:将上传的图片写入指定服务器路径,保存起来,返回上传后的图片路径(在springBoot中,参考博客:http://blog.csdn.net/change_on/article/det ...
- SpringBoot下文件上传与下载的实现
原文:http://blog.csdn.net/colton_null/article/details/76696674 SpringBoot后台如何实现文件上传下载? 最近做的一个项目涉及到文件上传 ...
- Angular14 利用Angular2实现文件上传的前端、利用springBoot实现文件上传的后台、跨域问题
一.angular2实现文件上传前端 Angular2使用ng2-file-upload上传文件,Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng ...
随机推荐
- activeMQ和spring的整合
http://www.cnblogs.com/shuai-server/p/8966299.html 这篇博客中介绍了activemq传递消息的两种方式,今天分享的是activemq框架和sprin ...
- GUI学习之〇——PyQt5安装
GUI(Graphical User Interface)是程序和软件使用者的接口,好的GUI是一个良好的软件的前提,在这里演示一下用PyQt5做一个GUI的方法 软件需求:python3.6 用的是 ...
- AJAX html 传输json字符串&&巧妙运用eval()来解析返回的JSON字符串
1.AJAX html 传输json字符串: js方法如下: function saveRetYwlsh(){ var xmbh = document.getElementById("xmb ...
- java28
1.使用多态的优点 把要创建的多个子类缩减为一个父类接着传入参数,用参数调用子类的方法, 输出时直接调用父类的方法,这时传参传创建的对象 2.多态方法的调用 调用的方法前有static时,会默认调用父 ...
- Alpha 冲刺 (7/10)
队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 学习MSI.CUDA 试运行软件并调试 ...
- Mysql中比较常用的两种存储引擎和事务
存储引擎:引擎(类似汽车上的发动机)决定了数据库的快慢,MySql中有20多个引擎,不同的存储引擎提供不同的存储机制.索引技巧.锁定水平.MYISAM存储引擎,INNODB存储引擎最出名.数据库的核心 ...
- 【repost】JavaScript 运行机制详解:再谈Event Loop
一年前,我写了一篇<什么是 Event Loop?>,谈了我对Event Loop的理解. 上个月,我偶然看到了Philip Roberts的演讲<Help, I'm stuck i ...
- PgAgent安装、配置、运行
一 安装cmakewget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gztar -zxvf cmake-2.8.5.tar.gzcd /root ...
- rabbitMq 初步
RabbitMQ的工作原理 它的基本结构 组成部分说明如下: Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue. Exchange:消息队列交换机,按一定的规则将消息路 ...
- Vue自定义指令,ref ,sync,slot
一.自定义指令 vue中可以自己设置指令,通过directive来实现,有2种创建方式,一种是局部创建,一种是全局创建. 第一种:局部创建 如果想注册局部指令,组件中也接受一个 directives ...