kindeditor 批量上传 路径_094 ego电商项目-2 菜单、图片上传、CRUD

1. 编写代码_商品类目查询

(1) 描述怎么设计一个树型的表结构

在后台管理页面,用户点击商品管理下的新增商品,会打开新增商品的选项卡页面,点击选择类目,会弹出选择类目面板,在该面板上有一个异步树,用于显示商品类目分类信息,包括一级类目,二级类目,三级类目。

在数据库菜单列表添加parentId一列来设置父级菜单的id,一级菜单的id是0.二级是1,以此类推。

(2) 描述easyui加载一个异步树的过程和相关参数

当点击页面时,会把点击的菜单的id发送给controller,controller接收id参数然后去数据库查询parentId为此id的所有子节点,封装为TreeNode的list集合,然后通过@ResponseBody注解返回list的JSON格式字符串。

2. FTP服务器的搭建

(1) 什么是ftp?

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。

(2) 怎么安装vsftpd服务

Linux 中安装 vsftpd:

1-执行安装命令:yum install vsftpd -y

2-添加 ftp 用户

0767a43223ba7ac603518a051cc93c7a.png

3- 分配 ftp 密码

4c311dc46c432470d989909b88567747.png

4-禁止 ftp 用户 ssh 登陆

cc88ad6c7b7394efcf85909bf8374da9.png

5- 开启防火墙 21 端口

fe183a2fc234b41c450e5ccb58b3d297.png

6-查看 ftp 状态

f6921dfc3fdfefff26285dd3ddefbf90.png

7-修改 ftp 状态

8c8d36daa095ea22151e3a647a18fabe.png

8-关闭 ftp 匿名访问

2eb4a3cbc0d94695bfeb2a06623713f6.png

1d99305e975ac6f860767cc47cfa74b3.png

9- 设置 vsftpd 服务开机启动

6060309aae0a6acbb81411f17974bed8.png

10-测试 ftp 链接

52bd4f08c42bf8270fe044f9032ab72e.png

11-配置 vsftpd 的被动模式

默认是开启的,需要配置端口好的范围。

10def4e2740cfb5f3195017cdb144306.png

88162f151f47b7871ddd5ab6d49a85cf.png

在防火墙打开响应范围的端口。

4fe77ae0ed51ef1f6b99c6481a059bdd.png

75f6d2cc4b8b1486208c63567dc09d01.png

9f2539012e1f0e4fede6cfb47a53d106.png

3. Http服务器搭建

(1) 传统文件上传将文件保存到哪里?有什么问题?

保存到tomcat服务器中。

没法满足在 tomcat 服务器集群状态下,图片的保存问题,会出现图片找不到的 404 问题。同时会占用服务器的内存资源,给服务器造成过大的压力。

(2) 描述分布式系统中解决文件上传的思路

ftp 服务:实现图片的上传,保存图片资源

客户端---(http 协议)---tomcat---(ftp 协议)---图片服务器

图片服务的实现,使用 linux 的 vsftpd 服务

http 服务:获取图片服务的图片资源

客户端---(http 协议)---图片服务器

Linux 中安装 nginx 服务,类似与 tomcat 的 http 容器

07c196ff7a3b8427dc78d3433393cea7.png

4. 编写代码_FtpClient_实现文件上传

(1) 简述Ftp实现文件上传的基本步骤

提交上传请求路径 url

34b7b9f4ca959bcaa6b058e4d1f88f26.png

提交图片参数名称

上传后返回值 json 模型:

参考 kindeditor 控件文件上传文档:

http://kindeditor.net/docs/upload.html

创建 PictureResult 封装返回值

package 

ego-manager-web 功能实现

创建 ftp.properties

FTP_HOST=192.168.30.30
FTP_PORT=21
FTP_USERNAME=ftpuser
FTP_PASSWORD=ftpuser
FTP_PATH=/home/ftpuser/jd
IMAGE_HTTP_PATH=http://image.taotao.com/jd

创建工具类 IDUtils

ManagerItemService 接口添加方法

/**

ManagerItemServiceImpl 实现方法

//通过 spring 的 EL 表达式注入 ftp信息

创建 ItemImageUploadController 类

package 

配置 springmvc.xml

发布测试

(1) Ftp实现文件上传需要使用到哪些方法?

FtpUtils工具类

public 

5. 编写代码_实现商品新增

(1) 商品需要使用哪些表,之间关系是什么?

需要商品基本信息表tb_item和商品详细信息表tb_item_desc两张表。

详情表是基本表的补充说明。

(2) 商品基本信息表和商品描述表为什么分开设计?

因为商品描述一项信息量巨大,如果都设计在一张表中,用户每次查询商品信息时都要等较长时间才能得到相应的商品信息,影响用户体验。而且详情较于基本信息用户需求度没有那么高,所以可以将其分离出来。基本信息和详情分开单独查询显示缩短了查询时间,提高用户体验。

6. 编写代码_实现商品回显_商品修改

(1) 描述实现商品信息回显的思路

前端控件参数说明

主要实现商品信息的回显和商品描述信息的回显

4b5b81fe36e0b8d75f2db267e939c6d7.png

创建 ItemDescService 接口添加方法

package 

创建 ItemDescServiceImpl 实现类

package 

修改 applicationContxt-dubbo.xml

<dubbo:service 

修改 applicationContext-duubo.xml

<dubbo:reference 

创建 ManagerItemDescService 接口

package 

创建 ManagerItemDescServiceImpl 实现类

package 

创建 ItemDescController

package 

发布测试

(2) 商品详细信息回显需要kindeditor调用什么方法

//创建富文本编辑器

itemAddEditor = EGO.createEditor("#itemAddForm [name=desc]");

//同步文本框中的商品描述

itemAddEditor.sync();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值