因为众所周知的原因大量图片不宜存储于数据库,因此需要搭建一个图片服务器用于图片文件的存储和访问。经过调查,HTTP+FTP模式是一种不错的选择,具体部署步骤如下:
1. 安装FTP服务器
下载并默认安装 FileZilla Server 服务器,并设置D:/ftp/share为FTP主目录。
下载地址: https://filezilla-project.org/
服务器配置:
(1)IP配置
(2)创建用户
(3)设置工作目录和访问权限
(4)配置完成后可以通过FTP客户端测试服务器是否运行成功。
2. 安装Nginx服务器
(1)下载nginx-1.17.7安装包,解压到本地磁盘
(2)配置
step1:打开nginx-1.17.7/conf/nginx.conf
step2: 找到http { server { location /{ root }}},将root配置为FTP的主目录,如下所示:
http {
......
server {
listen 9090;
server_name localhost;
location / {
root D:/ftp/share;
index *.*;
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Headers X-Requested-With;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
}
}
......
}
step3: 保存
(3)启动并测试
step1:运行nginx-1.17.7/nginx.exe
step2:在ftp主目录D:/ftp/share下放置001/0030.png
step2: 浏览器访问http://localhost:9090/001/0030.png,可以显示图片文件
(4)Nginx服务器开机自动运行
3. 通过QtFtp模块上传文件到FTP服务器
4. 通过QNetworkAccessManager模块访问图片