SpringBoot整合TomCat实现本地图片服务器代码解析
作者:李加减 发布时间:2021-07-30 16:34:19
标签:Spring,Boot,整合,TomCat,服务器
后台控制层:
public static final String HEAD_IMG_DIR = "D:/upload/"; // 本地存放图片路径
//图片上传
@RequestMapping("/upload")
@ResponseBody
public String upload(MultipartFile file) {
//文件真实上传名字
String filename = file.getOriginalFilename();
//文件大小
Long size = file.getSize();
String contentType = file.getContentType();
//文件临时储存到本地
String folder = HEAD_IMG_DIR;
//生成保存的文件名字,这个名字要存到数据库中
String uuid = UUID.randomUUID().toString();
try {
file.transferTo(new File(folder + uuid));
} catch (IOException e) {
e.printStackTrace();
}
return uuid; // 返回给前台 uuid 需和信息一起存到数据库
}
Tomcat:
打开server.xml配置文件,在文件中加上以下代码
<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container",
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<!--配置TomCat本地服务器-->
<Service name="newtest">
<!--分配8020端口 -->
<Connector port="8020"
protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="GBK"
redirectPort="8443" />
<Engine name="newtest" defaultHost="localhost">
<!--name为项目访问地址 此配置的访问为http://localhost:8020 appBase配置tomcat下wabapps下的路径-->
<Host name="localhost" appBase="D://TomCat//webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<!--资源地址--> <!-- 就是访问http://localhost:8020这个地址就是到D://upload这个目录下 -->
<Context path="" docBase="D://upload" debug="0" reloadable="false"/>
</Host>
</Engine>
</Service>
<Service name="Catalina">
前台页面:
url: 'http://127.0.0.1:8020/',
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
来源:https://www.cnblogs.com/lzf199/p/13432758.html
0
投稿
猜你喜欢
- 这里我们以拨打电话申请权限来写个小例子,也就是CALL_PHONE,因为拨打电话会涉及用户手机的资费问题,因而被列为了危险权限,在Andro
- 前言本文主要给大家介绍了关于Spring Boot优化内嵌Tomcat的相关内容,分享出来供大家参考学习,下面话不多说了,来一看看详细的介绍
- 1.新建springBoot项目在前面有两种方式2.加入thymeleaf模板引擎SpringBoot推荐使用thymeleaf模板引擎语法
- 前言 短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天
- 什么是volatile关键字volatile是Java中用于修饰变量的关键字,其可以保证该变量的可见性以及顺序性,但是无法保证原子性。更准确
- 参考视频:https://www.bilibili.com/video/BV1Bq4y1Q7GZ?p=4通过视频的学习和自身的理解整理出的笔
- 之前我们有介绍通过Spring Boot Admin来检测服务的上下线,然后进行通知功能。https://www.jb51.net/arti
- 数据加解密的实现方式多种多样,在mybatis环境中数据加解密变得非常简单易用,本文旨在提供参考,在生产中应尽可能完成单元测试,开展足够的覆
- 在eclipse中默认的maven,它加载的是国外的镜像,那样速度会比较慢,如果使用国内镜像,比如阿里的中央仓库;速度会快很多。那如何修改m
- 生活中随处可见并行的例子,并行 顾名思义就是一起进行的意思,同样的程序在某些时候也需要并行来提高效率,在上一篇文章中我们了解了 Java 语
- 初次安装Android Studio,遇到了不少问题,这是其中的一个,分享如下,同时求各位dalao关注一下啦((*^__^*) )使用不同
- 本文提供了基于MD5加密16位和32位的方法,具体内容如下import java.io.IOException;import java.ma
- 问题用过storm或者jstorm的都知道,如果在bolt代码中发生了没被catch住的异常,所在worker进程会退出。本文就从源码角度分
- 一,栈1,概念在我们软件应用 ,栈这种后进先出数据结构的应用是非常普遍的。比如你用浏 览器上网时不管什么浏览器都有 个"后退&qu
- -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M 这里有几个问
- 本文实例为大家分享了java导出百万以上数据的excel文件,供大家参考,具体内容如下1.传统的导出方式会消耗大量的内存,2003每个she
- 简单的页面分析在上一个文章简单的数据库连接测试,已经测试和数据库做简单的交互,也就是dao层的实现,接下来要说的却是action的简单实现,
- 本文介绍了Flutter 通过Clipper实现各种自定义形状的示例代码,分享给大家,具体如下:ClipOval 圆形裁剪ClipOval(
- 前言项目使用redis作为缓存数据,但面临着问题,比如,项目A,项目B都用到redis,而且用的redis都是一套集群,这样会带来一些问题。
- 多数据源创建数据库CREATE DATABASE mybatis_plus_1;USE mybatis_plus_1;CREATE TABL