小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_13、jar包方式运行web项目文件上传和访问...
笔记
8、jar包方式运行web项目的文件上传和访问处理(核心知识)
简介:讲解SpingBoot2.x使用 java -jar运行方式的图片上传和访问处理
1、文件大小配置,启动类里面配置
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//单个文件最大
factory.setMaxFileSize("10240KB"); //KB,MB
/// 设置总上传数据总大小
factory.setMaxRequestSize("1024000KB");
return factory.createMultipartConfig();
}
2、打包成jar包,需要增加maven依赖
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
如果没加相关依赖,执行maven打包,运行后会报错:no main manifest attribute, in XXX.jar
GUI:反编译工具,作用就是用于把class文件转换成java文件
3、文件上传和访问需要指定磁盘路径
application.properties中增加下面配置
1) web.images-path=/Users/jack/Desktop
2) spring.resources.static-locations=classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath:/test/,file:${web.upload-path}
4、文件服务器:fastdfs,阿里云oss,nginx搭建一个简单的文件服务器
开始
上传一个大文件
文件超过了最大的限制
把代码复制到application启动类里面
一定要是带@SpringBootConfiguration的类里面
SpringBootConfiguration注解里面包含了@Configuration这个注解
引入对应的包后。
启动应用。
上传的这个图片1.2M
上传成功了
打成jar包
打包当前项目
打包成功
打包后会放在target的目录里面
运行这个jar包
错误:找不到入口启动类
打包的时候需要一个maven的依赖
这是spring-boot提供的插件。帮我打包成一个jar包
再次打包
把压缩包解压出来
BOOT-INF:字节码文件和依赖的jar包
MAINFEST.MF:最主要的是Main-Class:类加载器 加载我们对应的应用
Start-Class:入口。刚才的jar包报错就是找到XdclassApplication
就是我们源码的这里
配置上传的固定路径
第二行配置最后加一行
这里先把上传路径写死到这里。因为我们还没有学习读取配置文件。之类暂时把路径写死
再次打包
运行 程序
上传一个图片
因为配置的是桌面上,所以上传到了桌面上
也就是配置的这个目录:User/jack/Desktop
可以直接访问这个图片
扩展知识
转载于:https://www.cnblogs.com/wangjunwei/p/11397504.html
小D课堂 - 零基础入门SpringBoot2.X到实战_第2节 SpringBoot接口Http协议开发实战_13、jar包方式运行web项目文件上传和访问...相关推荐
- 【零基础入门SpringBoot2】—— 核心功能_配置文件与Web开发
一.配置文件
- L2、L3协议开发之以太网交换机基础
1.以太网的基础 以太网是一种能够使计算机进行相互传递信息的介质,它利用二进制位形成一个个的字节,这些字节然后组合成一帧帧的数据.帧有一个起点,我们称之为帧头:也有终点,我们称之为作帧尾.在每个帧报头 ...
- python基础入门大作业怎么做_【百度飞桨】零基础Python课程大作业
转眼间百度飞桨的零基础python课程马上就要结束了,所谓年前学python,年后来上号,通过本次课程可以对python有一个基础的认知和掌握,以下是大作业的个人代码,仅供参考. [作业一] #创建S ...
- java基础入门第二版思维导图,Java 学习--你应该有份思维导图了(基础篇)
每一门知识,除了理解它的一些原理用法之外,我觉得还有一点比较重要,那就是多整理笔记做总结. 以下是我自己亲自整理的关于 Java 学习的思维导图,分享出来希望能对大家在学习 Java 过程中有所帮助, ...
- C语言 *p++/*(p)++/*(p++)/*p++ - C语言零基础入门教程
目录 一.简介 二.*p++ 三.*++ p/++ *p 四.* (p++)与*(++p) 五.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...
- 慕课学习史上最全零基础入门HTML5和CSS笔记
慕课学习史上最全零基础入门HTML5和CSS笔记 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的 ...
- c语言用if语句abc输出最大值,C语言基础入门选择结构-if语句(78页)-原创力文档...
C语言基础入门选择结构-if语句_电脑基础知识_IT/计算机_专业资料.第9单元选择结构-if语句<程序设计基础>北京八维研修学院第1节选择结构导入?... <程序设计基础> ...
- Android基础入门教程——2.3.1 TextView(文本框)详解
Android基础入门教程--2.3.1 TextView(文本框)详解 标签(空格分隔): Android基础入门教程 本节引言: 学习完Android中的六大布局,从本节开始我们来一个个讲解And ...
- 大数据基础入门 ------文章来源于:某个入门课程
文章目录 第一课:大数据基础入门 什么是大数据? java和大数据的关系 学习大数据需要的基础和路线 第二课:Hadoop的背景起源 一 分布式存储 如何解决大数据的存储?(HDFS) 第三课: ha ...
- 最新Android基础入门教程目录(完结版)
第一章:环境搭建与开发相关(已完结 10/10) https://blog.csdn.net/coder_pig/article/details/50000773 Android基础入门教程--1.1 ...
最新文章
- 自动化运维工具Saltstack(一)
- 分类器是如何做检测的?(2)——【续】检测中的LBP和HAAR特征计算过程
- C语言数据结构学习用单元测试
- linux安装zookeeper+使用命令
- vue学习笔记(1)-组件通信
- 前端学习(1575):复习todoMVC
- matlab对图像进行傅里叶变换_数字图像处理(一)—— 傅里叶变换
- easyui 控制某列显示不显示_baogaiMCU控制OLED显示屏
- Web端打开文件选择和保存对话框
- HDU-时间挑战 树状数组
- 原生jsonp发送跨域请求
- 利用matlab的帮助功能分别查询inv,MATLAB实验报告第一章..doc
- python 全局解释器锁_python全局解释器锁(GIL)
- ADO.Net之SqlConnection、 Sqlcommand的应用
- 深入学习之mysql(二)表的操作
- linux虚拟机安装samba服务,在虚拟机Redhat Linux下安装Samba服务器分享
- matlab位图矢量化,位图矢量化的处理算法研究
- Day754.Pika键值对数据库 -Redis 核心技术与实战
- widows 句柄HINSTANCE
- 微信应用签名配置方法
热门文章
- 孙鑫VC学习笔记:第二十讲 (二) ado数据库编程
- c html 转 pdf,HTML 转 PDF
- 拓端tecdat|R语言多元时间序列滚动预测:ARIMA、回归、ARIMAX模型分析
- 拓端tecdat|R语言生存分析: 时变竞争风险模型分析淋巴瘤患者
- 拓端tecdat|R语言时间序列:ARIMA / GARCH模型的交易策略在外汇市场预测应用
- (2)评价算法-TOPSIS算法
- mysql 加速_DBA大牛MySQL优化心得,语句执行加速就是这么简单!
- pytorch数据集
- BFGS优化算法简介
- Git的使用--如何将本地项目上传到Github(两种简单、方便的方法)