node通过七牛云的头像上传案例

一、准备工作

网上注册七牛云用户(需要验证个人信息,个人用户可免费获取10G空间)——配置本地数据库(推荐使用客户端navicat。node推荐使用mongodb,可以存储json形式的数据)


二、思想

通过multiparty模块,接收C端传递过来的数据——图片存储到本地——本地图片上传至七牛云——七牛云链接地址,存储数据库——通过接口的形式返回到C端。代码已经上传到github,有需要的猴子可以去下载(https://github.com/zhuyangmsg/node-upload)


三、模块解析

ejs模块:模板引擎,方便解析数据。(使用ejs模块,前后端未进行分离,导致需要配置静态文件目录)

模板引擎

qn模块:方便七牛云的上传操作

node通过七牛云的头像上传案例_第1张图片
七牛云配置

multiparty模块:方便接收C端传递过来的数据,进行本地存储

获取上传数据


四、代码解析、逻辑分析

1、配置路由,渲染对应的模块引擎。根据C端需要的数据,写成接口的形式进行数据返回。(通过姓名,找到数据库中对应那一条数据)

node通过七牛云的头像上传案例_第2张图片
配置路由

2、获取表单提交完成后的数据,分析表单提交数据格式,如果存在图片上传的话,可以通过multiparty进行本地存储。

表单提交

3、初始化表单数据,对传过来的数据进行解析。判断是否解析成功,成功后,可获取关于解析数据信息。

4、上传到七牛云,根据本地路径和新路径,即可上传成功。

5、上传成功后,修改相应数据库的图片地址。

6、修改成功后,删除本地图片,和七牛云上的图片。

sky!sky!sky!现在就完成所有的操作,后四步的代码如下图:

node通过七牛云的头像上传案例_第3张图片
解析表单数据


五、另一种方式上传数据

现阶段,图片上传最流行的方式是通过H5上传base64位的地址。node通过body接收到base64位的地址。然后进行解析,对于后端来说,base64位地址前面一截是没有什么用处的(主要用来加密),主要是通过后半截的地址来转化成二进制流,然后,在通过二进制数据,把图片写入到本地。

node通过七牛云的头像上传案例_第4张图片
base64地址

你可能感兴趣的:(node通过七牛云的头像上传案例)