Tomcat配置虚拟路径,使上传文件与服务器分离

遇到问题介绍:项目中头像上传,上传图片到服务器。如果使用tomcat下的目录作为上传图片的路径,则每次重启服务器图片将消失

遇到问题:使用服务器物理磁盘的D:\upload路径存储文件,访问请求路径的不会映射到希望到的请求。

解决:可以使用tomcat的配置文件将某个请求 映射到 物理路径下 ,完成图片的回显。

具体操作:使用Tomcat虚拟路径

1.修改tomcat的配置文件

window环境

 

首先找到tomcat目录下conf目录下的server.xml文件

 

在server.xml文件中找到<Host></Host>

 

然后在其中加上这

             <Context path="/demo/file" docBase="D:\demo\File\file"></Context>

例如:

<Host
name="localhost"  appBase="webapps" unpackWARs="true" autoDeploy="true">

<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="localhost_access_log." suffix=".txt"

pattern="%h %l %u %t &quot;%r&quot; %s %b" />

<!-- 下面两条主要是tomcat转发图片请求到相应的电脑物理磁盘位置 -->

<Context path="/dajean/uploadpng/" docBase="D:\setup\dajean\uploadpng\"></Context>

</Host>

             

tomcat在的请求一般为http://localhost:8080/demo/file/abc.jpg

配置完重启之后,该请求会自动跳转到物理路径D:\demo\File\file下查找。

会访问本机的D:\demo\File\file\abc.jpg

有效解决了存储路径与tomcat路径的分离。

时间: 2024-10-29 03:01:19

Tomcat配置虚拟路径,使上传文件与服务器分离的相关文章

Tomcat配置虚拟路径,使上传文件与服务器及工程文件分离开

   使用Tomcat虚拟路径可以达到一个怎样的效果呢?简单说你可以把上传的文件放在你想发的任何一个地方,同时可以自己区分 下文件的类型,图片文件专门放一个地方,压缩包文件放另一个地方. 其实如何配置非常简单,这里以window环境来说明! 首先找到tomcat目录下conf目录下的server.xml文件 在server.xml文件中找到<Host></Host> 然后在其中加上这两句              <Context path="/demo/file&

put上传文件的服务器的配置

1,HTTP常见的方法 GET 获取指定资源 POST 2M 向指定资源提交数据进行处理请求,在RESTful风格中用于新增资源 HE A D 获取指定资源头部信息PUT 替换指定资源(不支持浏览器操作) DELETE 删除指定资源   2,配置服务器的put请求方式:   1> n 打开终端p cd /etc/apache2p sudo vim httpd.conf n 在vim中输入p /httpd-dav.conf? 查找httpd-dav.confp 按0将光标移动至行首p 按x将行首的

tomcat配置虚拟路径,供用户访问静态资源

tomcat配置虚拟路径,供用户访问静态资源 在实际开发中,后台需要提供给用户访问静态资源,而且该静态资源不是在tomcat中,即不是在web目录下,那么用户是不能访问的,这时,需要配置tomcat服务器的虚拟路径.可以这样理解这个虚拟路径,就是相当于把该路径映射成一个web工程,这样这些静态资源就相当于在web路径下了,用户也就可以访问了. 简单的配置如下:tomcat安装目录/conf/server.xml      在最后面可以看到Host标签,在该标签中增加一个Context标签如下即可

springMVC 获取本地项目路径 以及上传文件的方法整理

String path=request.getSession().getServletContext().getRealPath("upload/img/product"); //二进制上传 MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; //获取文件 CommonsMultipartFile fpic=(CommonsMultipartFile) multipa

Android上传文件至服务器(转)

本实例实现每隔5秒上传一次,通过服务器端获取手机上传过来的文件信息并做相应处理:采用Android+Struts2技术. 一.Android端实现文件上传 1).新建一个Android项目命名为androidUpload,目录结构如下: 2).新建FormFile类,用来封装文件信息 package com.ljq.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExce

Android中利用HTTP协议实现上传文件到服务器

首先我们需要使用HTTP协议发送数据,我们就要知道HTTP发送上传文件到服务器的时候需要哪些头字段已经相关的配置,请看下图 这是使用浏览器模拟上传文件到服务器时候所发送的请求,我们可以看到它包含了请求头字段和实体部分,但是多了一个---------------------------7da2137580612,它实际上是一条分隔线,用于分隔实体数据的,他在使用分隔实体数据的时候会在前面包含多两个"-"而在结束的时候会在除了在前面都出两个减号"-"之外,还会在末尾都出

利用put上传文件到服务器

#import "KUViewController.h" #import "KUProgress.h" @interfaceKUViewController ()<NSURLSessionTaskDelegate> //下载进度的类,继承UIview @property (weak, nonatomic) IBOutlet  KUProgress *progressView; @end @implementation KUViewController -

本地上传文件到服务器,从服务器下载文件到本地

最近在做项目的时候涉及到了文件的上传.下载,以前学习IO时也没有搞得多清楚,在网上找了些上传下载的例子,然后修改了部分.经测试,上传下载文件暂时能用,下面是上传和下载的方法: 1.本地上传文件到服务器 html代码: <form id="uploadDatumInfo" name="uploadDatumInfo" method="post" enctype="multipart/form-data" target=&q

C# FTP上传文件至服务器代码

C# FTP上传文件至服务器代码 /// <summary> /// 上传文件 /// </summary> /// <param name="fileinfo">需要上传的文件</param> /// <param name="targetDir">目标路径</param> /// <param name="hostname">ftp地址</param&g