现在的图片基本都是http+ip+端口访问,之前有用nginx映射过,但是总是感觉用nginx映射大材小用了还有点麻烦,后来知道springboot也能映射路径,这样一来不用在单独去启动nginx,方便了很多,再后来,维护了Java的老系统,需要用到tomcat,那么上传文件怎么访问呢,又了解到原来tomcat也有映射路径的功能,然后才有了这篇博客,我会一一举一个例子的
1.下面说一下springboot的映射方式,实现WebMvcConfigurer接口,addResourceHandlers方法用来映射文件,如下代码:
@Configuration
public class FileUploadConfig implements WebMvcConfigurer {
/**
* http访问获取访问图片的ip+端口
* http://192.168.0.86:8686
*/
@Value("${fileUpload.httpIpPortStr}")
private String httpIpPortStr;
/**
* chart统计图片原保存地址
* E:\WenZhou\chartImages\
*/
@Value("${fileUpload.rootChartSavePath}")
private String rootChartSavePath;
/**
* chart统计图映射地址 如: /chartImages/
*/
@Value("${fileUpload.rootChartHttpPath}")
private String rootChartHttpPath;
/**
* //映射统计图地址
* //这样就可以访问http地址的方式访问路径
* //映射完后访问路径如:
* http://192.168.0.101:8686/chartImages/LineChartDemo1.png
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//rootChartHttpPath用ip+端口访问前缀的设置 **统配之后的文件路径
//file: 这个网上说是必写的
//rootChartSavePath: 需要映射真正的文件目录参数
registry.addResourceHandler(rootChartHttpPath + "**").
addResourceLocations("file:" + "/" + rootChartSavePath);
}
}
2.springboot配置好映射以后,启动,访问图片文件地址,根据自己springboot配置的端口和本地的ip就可以访问了
1.下面说一下nginx的路径映射方式,只把server的模块列出来了,配置好以下后,启动nginx访问即可。
server{
listen 7003;
server_name 192.168.0.101;
#访问图片
location / {
root E:\ftp服務器架设工具\文件\金土工程\goldland-website/;
autoindex on;
}
}
访问测试一下,能访问到图片了。
1.下面在来说一下tomcat的映射方式,tomcat需要更改配置文件server.xml
涉及中文需要添加一中文编码 URIEncoding="UTF-8"
<Connector port="7002" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />
然后在<Host></Host>里添加<Context></>来实现映射功能
docBase 是要映射的文件目录,path是访问时指定的路径
<Context debug="0" docBase="F:\惠州市自然资源局\ftp服務器架设工具\文件\金土工程\goldland-website" path="/"/>
然后就可以访问一下拉,图片访问成功