使用Tomcat作为服务器的时候,如果不配置图片保存路径,将图片保存在项目路径下,那么再次打war包发布项目可能会造成图片的丢失,每次重启前将图片先保存再copy到服务器明显不方便,这时可以配置图片保存位置,将图片保存到项目外的地方,方法如下:

打开tomcat - conf下的server.xml文件,在Host节点下添加

<Context  docBase="G:/upload/images"  path="/images" />

docBase为图片保存的位置,path为图片的访问路径。

例如:上传了一张test.jpg的图片到服务器,

访问路径是 http://localhost/images/test.jpg

这样不仅解决了图片保存问题,同时还能保证服务器的安全。

实现一个需求,移动端上传图片到服务端,移动端使用base64编码,传输,服务端解码,保存到磁盘c:/picture;移动端再次请求的时候还是返回base64过去,想把图片做成以url表示的形式。

这里只需要一个简单的配置:如下

1.去tomcat的安装路径找到配置文件,然后修改

找到server.xml进行如下配置

<Context path="/image" docBase="C:\picture" debug="0" reloadable="true" crossContext="true" />

2.去eclipse中,在下方找到你运行项目的tomcat服务器,点击,会出现一个页面,该页面可以看到Overview/Modules

3.点击Modules,点击Add External Web Module,然后输入你存储图片的路径,比如c:/picture,然后重启服务器。

然后在浏览器输入你的ip+设置的路径别称+图片,比如我设置的c:/picture别称为/picture,我的图片是test.png;

那我访问的时候就可以是ip+/picture/test.png

tomcat中实现特定路径下的图片的url访问Tomcat配置图片保存路径,图片不保存在项目路径下的更多相关文章

  1. 关于 阿里云 的linux 安装 jdk和tomcat 中的问题(解压版的jdk和tomcat)

    一安装jdk 1:首先要申请一个服务器 2:其次官网下载jdk(按你的linux版本下载(我的目前是64)) 3:就是上传jdk 4:在 usr 文件夹下创建 java 文件夹 5:把jdk上传到ja ...

  2. 浏览器url访问tomcat出现错误 java.lang.NoSuchMethodError解决方法

    一般该类错误: 找不到方法或找不到类, 都是maven pom 仓库依赖的问题,有时是 因为缺少该依赖类,可以考虑添加相关依赖: 有时因为依赖冲突, 可以到 maven 的仓库下面把 有关该类的包 全 ...

  3. Tomcat中server.xml配置详解(2)

    Tomcat中配置文件详解 Server.xml配置文件说明,以及Tomcat组件的说明 Tomcat服务器是由一系列可以配置的组件构成,其中核心组件是Catalina Servlet,它是最顶层组件 ...

  4. linux下通过软连接实现访问项目路径外面的资源

            在javaweb项目开发中,图片上传是个比较常见的场景.一般都是在项目路径下建个文件夹,然后上传到该文件夹下:这样这个图片就可以和静态资源一样被直接访问.这样的好处就是访问这图片特别方 ...

  5. java-----遇到问题------myeclipse----发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误

    情况 myeclipse发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误. 这种情况一般是 .classpath文件设置的输出路径不对导致的. 1.. ...

  6. maven项目如何启动运行---发布到tomcat中

    前面两篇文章: 新建maven框架的web项目 以及 将原有项目改成maven框架 之后,我们已经有了maven的项目 那么 maven项目到底怎么启动呢 如果我们直接在myeclipse中按以前的启 ...

  7. MyEclipse使用总结——Maven项目如何启动运行发布到tomcat中[转]

    前面两篇文章: 新建maven框架的web项目 以及 将原有项目改成maven框架 之后,我们已经有了maven的项目 那么 maven项目到底怎么启动呢 如果我们直接在myeclipse中按以前的启 ...

  8. e.Tomcat中的sendfile支持

    sendfile实质是linux系统中一项优化技术,用以发送文件和网络通信时,减少用户态空间与磁盘倒换数据,而直接在内核级做数据拷贝,这项技术是linux2.4之后就有的,现在已经很普遍的用在了C的网 ...

  9. 在tomcat中加入SSL腾讯云证书的步骤

    在tomcat中加入SSL证书,可以用https方式访问域名,增加域名的安全性.当然也有很多应用要求https访问,也是安全性的考虑.阿里云和腾讯云都提供SSL证书,还有一些其他的大公司也提供,我这里 ...

随机推荐

  1. Django 安装 创建项目 运行项目

    Django基础 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的We ...

  2. Codeforces 937A - Olympiad

    A. Olympiad 题目链接:http://codeforces.com/problemset/problem/937/A time limit per test 1 second memory ...

  3. 关于js的日期处理

    1.日期转换(Date)方法一:String变为Date var t = "2015-03-16";var array =  t.split("-");var ...

  4. MyEclipse项目的jquery.js发生[Multiple markers at this line - Missing semicolon]的解决方案

    问题描述: 导入jquery库后,发现提示错误信息:Multiple markers at this line - Missing semicolon,如下截图所示: 解决方案: 选中该jquery. ...

  5. thinkphp 开启事物

    $Member->startTrans();//启动事务 // 提交事务$ Member->commit(); // 事务回滚$Member ->rollback();

  6. 腾讯云 网站开启HTTPS

    下图是我站点的初始化样子,可以看到只是输出一个字符串,啥也没有,并且没有https. 这无所谓,因为我们的重点是https,而不是网站内容 接下来就是配置https的关键步骤了,其实只需要三步而已: ...

  7. javascript 与 PHP 通信加密,使用AES 128 CBC no padding,以及ios,java,c#文章例子

    运行环境 php7.0 不适用于 php7.0以上版本,因为mcrypt_encrypt()函数已删除 为何要采用 no padding 这种形式: AES加密如果原输入数据不够16字节的整数位,就要 ...

  8. 06:vuejs项目实战

    1.1 项目说明 1.技术架构 vue.js, 模块化,工程化, 移动端 2.目录部署 Css:所有样式文件 Data:所有异步接口 Img:所有图片文件 Js:所有js文件(2.0) index.h ...

  9. VIM自动补全Python代码

    pydiction插件 https://codeload.github.com/rkulla/pydiction/zip/master 新建bundle文件夹 mkdir ~/.vim/bundle ...

  10. 公网FTP(filezilla)改端口

    背景:我们如果不修改ftp服务器的端口,很容易被别人测试和攻击. 配置要点:服务端端口设置.主被动设置.服务端和客户端防火墙设置 ftp服务器:filezilla ftp server 1.  监听端 ...