一、准备工作
网上注册七牛云用户(需要验证个人信息,个人用户可免费获取10G空间)——配置本地数据库(推荐使用客户端navicat。node推荐使用mongodb,可以存储json形式的数据)
二、思想
通过multiparty模块,接收C端传递过来的数据——图片存储到本地——本地图片上传至七牛云——七牛云链接地址,存储数据库——通过接口的形式返回到C端。代码已经上传到github,有需要的猴子可以去下载(https://github.com/zhuyangmsg/node-upload)
三、模块解析
ejs模块:模板引擎,方便解析数据。(使用ejs模块,前后端未进行分离,导致需要配置静态文件目录)
模板引擎qn模块:方便七牛云的上传操作
七牛云配置multiparty模块:方便接收C端传递过来的数据,进行本地存储
获取上传数据四、代码解析、逻辑分析
1、配置路由,渲染对应的模块引擎。根据C端需要的数据,写成接口的形式进行数据返回。(通过姓名,找到数据库中对应那一条数据)
配置路由2、获取表单提交完成后的数据,分析表单提交数据格式,如果存在图片上传的话,可以通过multiparty进行本地存储。
表单提交3、初始化表单数据,对传过来的数据进行解析。判断是否解析成功,成功后,可获取关于解析数据信息。
4、上传到七牛云,根据本地路径和新路径,即可上传成功。
5、上传成功后,修改相应数据库的图片地址。
6、修改成功后,删除本地图片,和七牛云上的图片。
sky!sky!sky!现在就完成所有的操作,后四步的代码如下图:
解析表单数据五、另一种方式上传数据
现阶段,图片上传最流行的方式是通过H5上传base64位的地址。node通过body接收到base64位的地址。然后进行解析,对于后端来说,base64位地址前面一截是没有什么用处的(主要用来加密),主要是通过后半截的地址来转化成二进制流,然后,在通过二进制数据,把图片写入到本地。
base64地址
网友评论