图片上传问题

解决:vsftpd+nginx解决方案

 

在传统上传方式中,在项目的跟目录下创建upload目录,将图片上传到tomcat服务器中。但是在分布式环境下,是有多个Tomcat存在的,当把图片直接上传到Tomcat服务器时,容易出现图片丢失的问题。

 

 

由于项目最终是要部署到Linux环境,所以直接将图片上传到Linux服务器。

 

问题:那如何将图片上传到Linux呢?

 

答:使用vsftpd组件,实现文件传输。

 

 

 

问题1vsftpd是什么?

 

答:ftpFile Transfer Protocol)文件传输协议。(实现不同操作系统之间文件的传输)

 

vsftpd是一个基于ftp协议的文件传输服务器软件。

 

 

 

问题2vsftpd作用是什么?

 

答:传输文件的文件服务器。(跨平台、跨操作系统)

 

问题3:如何使用?

 

答:服务端:在linux安装vsftpd软件,开启服务。

 

客户端:通过FtpClient客户端建立和服务器的连接,向服务器发送请求。

 

 
 
实现步骤
第一部分:在Linux上部署vsftpd服务
  • 第一步:安装vsftpd软件
  • 第二步:关闭匿名访问
  • 第三步:添加一个FTP用户
  • 第四步:设置防火墙 vsftpd服务默认端口号为21,修改防火墙,开放此端口,重启防火墙。
  • 第五步:修改selinuxLinux安全内核系统)
(1)先查看selinux,默认是禁用了ftp访问的。
2)修改selinux,开放ftp访问权限
  • 第六步:启动vsftpd服务
第二部分:SpringMVC实现上传
思路
1)使用Springmvc上传组件,从页面表单接收图片
2)使用vsftpd组件,将图片上传到Linux服务器。
     a)、服务端:在Linux上安装ftp服务端vsftpd软件,并开启服务。
     b)、客户端:在java代码中使用FtpClient客户端建立与服务器的连接
3)返回值:返回图片上传之后的访问路径。
为什么?
因为保存图片到数据库的时候,保存的就是图片的访问路径。

 

posted @ 2019-07-27 15:02  ___mouM  阅读(260)  评论(0编辑  收藏  举报