在此之前如果你是一个Nginx新手可以先参阅:
本章知识点
效果图:
需求:实现的上传和批量上传
技术:Nginx,Vsftpd,Spring,SpringMVC,KindEditor,CentOS
说明:本章节内容主要是实现图片的上传功能。使用 KindEditer 是为了更好的演示图片的上传,回显,批量效果。后台代码与KindEditer没有直接关系,放心阅读。另外源码中有Mybatis的jar,不用理会,本章内容用不到,是为后续内容做准备!
源码:见文章底部
场景:用户将图片上传到 tomcat 服务器上,再由 tomcat 服务器通过FTP上传到 Nginx 服务器上。
项目结构:
单元测试
首先要攻破核心技术。通过单元测试实现图片上传的功能。
?说明:这里的ip地址,端口,ftp用户名,密码,本地文件路径,以及Nginx服务器图片路径等,这些字符串参数都要根据自己实际设置的来填写的。如果你的Nginx和Vsftpd安装是按照我提供的链接来做的。那你只需要改ip地址即可。
Maven 的Web 项目
搭建Maven的Web 项目,之前有写过。这里就不过多描述。
项目核心配置文件
首先是 Maven 的核心文件 pom.xml
?说明:和文件上传有直接关系的是:
?然后是 Web 项目的核心文件 web.xml
?
再是 SpringMVC 配置文件 springmvc.xml,需要添加文件上传解析器
?
最后是 Ftp 配置文件 resource.properties
?Service 层
上传图片的接口 PictureService.java
?
上传图片接口实现类 PictureServiceImpl.java
?
说明:
① @Value 注解是Spring4 中提供的,@Value("${XXX}")
② 返回值是一个Map,并且key有error,url,message。这是根据KindEditer的语法要求来的。
Controller 层
负责页面跳转的 PageController.java
?负责图片上传的 PictureController.java
?说明:
① @RestController 也是Spring4 提供的,是 @Controller + @ResponseBody 的组合注解。
② Controller层的返回值是一个json格式的字符串。是考虑到浏览器对json解析兼容性比较好。
Views视图层
负责上传图片的jsp页面 pic-upload.jsp
?说明:pic-upload.jsp 分为两个部分,第一个部分是为了测试上传图片功能的form表单。第二个部分是为了更好的体验上传,批量上传,回显功能的KindEditer 富文本编辑器。
总结 Nginx 搭建服务器的思维 Java实现 Ftp上传图片的功能 KindEditer 上传图片的功能
原文链接:http://www.cnblogs.com/itdragon/p/7864916.html