前提:

参考:集群环境下图片上传的功能分析、vmware的安装,linux的安装、nginx和ftp服务在linux的安装,ftp的客户端的使用。

图片上传是图片存储到ftp服务器上面,所以这里不需要操作mapper层。

这里用了几个工具类

ftp图片上传的工具类,图片名字的一种新的生成方式,json与java类的转换工具。

这里图片上传采用的是富文本编辑器的一个图片上传插件,在jsp页面实现的。

根据这几个jsp页面我们可以看到图片上传功能的url和传入的参数。

分析:

(1)图片是上传到ftp服务器,不是在数据库。所以我们搭建好服务的环境。

(2)是否有传入的参数和返回值

在这里我们看到参数即uploadFile,url为/pic/upload

这里注意使用的上传到服务器的一个MultiPartFile对象

springMVC实现图片的上传,需要依赖

导入common-fileupload的依赖

commons-fileupload

commons-fileupload

这里需要在springMVC中配置这个文件上传的bean

利用富文本编辑器上传图片返回的结果是也是json的格式,详细可以参考kindEditor的上传功能实现文档:

返回格式(JSON):

这里有返回成功时的情况和失败时的情况。我们可以采用两种方式来保存返回的json数据,一种是map集合的键值对形式,一种是pojo对象。下面看下两种方式:

Map的键值对形式如下:

pojo对象格式:

public class PictureResult {

/**

* 上传图片返回值,成功:0 失败:1

*/

private Integer error;

/**

* 回显图片使用的url

*/

private String url;

/**

* 错误时的错误消息

*/

}

(3)代码的编写实现:

controller层:

这是采用map的形式存储返回值,因为图片上传这个插件有些缺陷会在有的浏览器显示不出来,所以需要将java对象转为json的数据形式。

service层:

这里的步骤是:

1、生成图片的名称,这里采用的是上面讲的利用时间的分秒来实现的命名,具体见下一章

2、利用FTPUtil工具实现图片的上传:

在这里需要获取ftp服务器的ip,用户名,密码,存储的路径。

用到了一个spring的新技术:

首先将这些ip端口等等写在一个文件中,然后利用spring来读取,因为在项目中不能将这些东西写死。

读取方式:

另外还有一个新技术,就是joda-time的日期类型转换的插件,在依赖的jar包那里添加依赖:

利用这个插件,可以直接生成所需要的格式:

这里是采用时间的形式来生成作为图片的文件夹

java商城后台图片上传功能_淘淘商城图片上传功能的实现相关推荐

  1. 商城后台管理系统之普通查询_分页查询_商品的添加,单个删除,批量删除

    一.MVC开发模式和JavaEE经典三层结构 1.JSP开发模式一: jsp(接收请求,响应请求,展示数据)+javabean(处理业务逻辑) javaBean:可复用的java组件 -user -u ...

  2. java图片压缩不失真_软件分享 | Lit图片压缩

    软件分享 01 软件名称 Lit图片压缩 02 软件版本 V1.2.0.016 03 软件简介 Lit图片压缩app是一款免费简单好用的图片压缩工具,让图片在不失真的情况下,进行压缩和裁剪,轻松就能压 ...

  3. ajaxfileupload 监听上传进度_一篇文章学会文件上传

    文件上传 文件上传原理 文件上传的原理,就是DOM中的FileUpload对象.就是这句 <input type="file"> 但仅仅这样并不足够. 文件上传本质上是 ...

  4. 商城模板网站html5手机端_网站建设商城模板设计排版不同,但不可缺少的重要板块都会有 - 企业建站...

    有的企业建网站,是为了宣传产品.树立企业形象,此类多为建设企业官方网站:有的企业建网站,销售产品是根本,此类都建设商城网站.建设网站又有两种方法,一类模板建站,一类定制建站.对于网站建设商城模板来说, ...

  5. formdata上传文件_大文件分片断点上传实现思路以及方案

    作者:yeyan1996| 来源:掘金https://juejin.im/post/5dff8a26e51d4558105420ed 前言 我在面试的时候确实被问到了这个问题,而且是一道在线 codi ...

  6. 上传文件_.net core进行文件上传

    .net core 和.net framework上传文件还是有一些区别的有很多注意的地方 .net framework 上传文件用httppostedfilebase .net core 上传文件用 ...

  7. springboot 上传文件_基于SpringBoot的文件上传

    在实际的企业开发中,文件上传是最常见的功能之一,SpringBoot集成了SpringMVC常用的功能,当然也包含了文 件上传的功能,实现起来没有太多的区别. 下面我们来讲解一下,使用SpringBo ...

  8. 图片缩小不失真_科技论文中图片的处理方法有哪些?

    来源丨斐然智达SCI学术服务 有位论文审稿人在自己的博文中写道:"我审稿时看稿件的顺序是题目.摘要.图表. 前言.参考文献和正文".可见论文中图片的质量是非常重要的,图片质量的好坏 ...

  9. fastreport打印指定路径图片显示不出来_报表工具中图片文件怎么展示---本地图片--网络图片--数据库图片...

    用于报表展示的图片来源有多种,如:数据库的图片字段.服务器本地图片.网络图片等,因此,报表工具也针对多种图片来源提供了多种多样的处理方式. 下面从不同的图片来源角度,举例介绍报表工具如何设置呈现. 图 ...

  10. python给图片加动态特效_用Python给图片加上抖音效果

    前一篇 Python实现抖音体 给文字加上抖音效果,这一篇我们来用Python给图片加上抖音效果.原理其实是类似的,这里我们详细地讲解一下过程,并且给出代码实现. 准备工作 程序用到Pillow,nu ...

最新文章

  1. Git之删除本地和远程项目
  2. Tomcat 启动时 SecureRandom 非常慢解决办法
  3. 工业用微型计算机(27)-dos和BIOS调用(1)
  4. P1972 [SDOI2009]HH的项链
  5. CPU是如何访问到内存的?
  6. 如何缩小码农和高手的差距
  7. 解决 mysql>com.mysql.jdbc.PacketTooBigException: Packet for query is too large (12073681 > 4194304)
  8. 在ASP.NET网站中实现带列表(其由xml文件控制生成)的视频播放
  9. bzoj1877 [SDOI2009]晨跑 费用流
  10. oracle 10g 配置asm,在Oracle Linux 4.7上安装配置Oracle 10g ASM数据库
  11. 15个很有用的 HTML5 基础教程和速查手册
  12. 百度迁徙数据的快捷采集方法分析总结
  13. 51单片机汇编程序,温度报警项目
  14. 公文处理助手 【全自动文档排版插件 For Word(32/64)】
  15. 系统学习机器学习之弱监督学习(一)--弱监督学习综述
  16. WiFi大师专业版SAAS小程序+强强联合2.0模式正式开启
  17. JavaWeb购物系统
  18. 《经济学是什么》精髓:如何用经济学家的眼光理解个人选择和市场经济?
  19. 人工智能之设计师构想一
  20. 【BZOJ】2021: [Usaco2010 Jan]Cheese Towers(dp)

热门文章

  1. 时尚手表品牌PaulHewitt,手表手链超时尚品牌礼物
  2. 论文的正确打开方式—如何细读一篇论文分享
  3. 关于笔记本电脑屏幕的亮,暗点问题的民意调查
  4. CNPC海外操作人员英语日常用语900句
  5. 介绍一些比较方便好用的爬虫工具和服务
  6. 不重启JVM动态添加日志(阿里Arthas)
  7. 网络爬虫在业务中的应用
  8. Unity获取天气最稳定的接口
  9. 深圳高新技术企业补贴政策及有何好处,补贴30万
  10. Google Play In-app Billing