几乎全部的开发者都作过图片上传,这个功能几乎应用于全部的系统。可是大部分人都是用别人封装好的,图片上传工具类或者上传服务,本身没有深刻研究过具体实现。web
目前常见的图片服务方案:数据库
1.上传到云盘中,如:7牛,阿里OSS…服务器
须要按照服务提供方提供的API定制化开发上传功能,而后经过网络URL访问,网络文件服务须要付费。网络
2.直接上传到当前项目的webapp下的某目录(EovaV1.5以前就是这样实现的)app
项目从新部署,须要备份图片,不然就会被自动清理。部署完项目,图片就访问不到了。dom
3.上传到本机的指定目录中,并将该目录发布为静态服务器(EovaV1.5的实现方式)webapp
须要部署两个服务,一个Web服务器,一个静态服务器,直接访问静态服务器获取图片。
本方案是不少企业采用的方案,有两个好处:工具
重启部署以后,图片不会被清除spa
动静分离,减轻Web服务压力.net
下面咱们先看一下如何用Tomcat发布静态服务:
1.下载Tomcat
2.修改Tomcat /conf/server.xml 在Host节点中加入Context,参考下面
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="D:\eova\static"/>
</Host>
3.启动图片服务器,假设HTTP端口号为18080
Eova图片服务配置:
#图片服务域名(上面搭建的静态服务器的IP+端口)
domain_img = http://127.0.0.1:18080
#静态根目录(上面搭建的静态服务器docBase对应的目录)
static_root = D:/eova/static
首先将元字段设置为图片框
而后元字段文件目录配置:须要手工修改数据库中的JSON配置(表:eova_field 字段:config)
{"filedir":"/image/product"}
So,通过如上配置,是为了下面两项
图片上传保存目录:(假设传的图片名为001.jpg)
D:/eova/static/image/product/001.jpg
图片服务实际访问URL: