【校招VIP】[约起来] 接口设计1:图片上传接口

今天来看商业实战项目约起来的第一个模块,活动发布模块的接口设计,这期课程包括两个接口,一个是图片上传,一个是活动发布后的提交。

首先了解图片上传接口,常规的图片上传需要前后端配合。前端通过接口传给后端,图片不是直接传到数据库,而是找一个文件存储系统,比如阿里云腾讯云等。

第二,前端调用接口时上传的图片格式有两种。一种是文件格式,一种是字符串格式。

第三,图片上传有两个需要注意的点。

第一点是图片不能直接存储到数据库里。因为图片容量较大,如果插入过多,数据库加载时,瓶颈就会比较大,整个业务运转不起来。一定要把图片放在一个文件存储器。

第二点,后端要决定上传cos系统里面的文件名定义和流转,用户在移动端或PC端上传图片有两种方式,一种是B64,一种是BASE64。

B64可以把图片转化成文本格式,文本中所有数据都可以用零一来表示。这属于字符型的接口。调用后台接口后,后台会在本地把它转换成图片,然后生成名字,名字不能重复。

Base64需要在本地操作,然后上传到远程工具,上传成功后把单张或多张图片名字通过逗号分割,最后返回前端,前端通过链接把它加载出来。这是正规的图片上传流程。

但是会出现一个问题,一系列操作给后端和前端之间的带宽压力较大。因为互联网带宽有限,如果上传图片过多,带宽就被卡住,产生的费用成本较高,对性能的影响较大,不利于正常商用项目的开展。后续的章节会针对这点去讲解怎么改进。

图片上传的格式根据图片前端采用的处理方式而定,如果使用input的file格式,接口就是part file,它可以是单个文件,也可以是多个文件。也可以用刚才提到的贝六四格式,也就是string来接受。

图片普通上传的接口比较简单,uil主要是看上传的参数和返回值。参数是贝64使用的字符串格式,以C的方式去命名上传。返回值分成功和失败,返回值的参数是确定的,如果做项目,会知道response do的对象。开发的时候有一个布尔型的值,叫true和false,如果失败,message里会讲清楚失败原因,如果成功,这就是默认值。传数据时就会在数据里面去传。

比如,上传三张图片时,后端按逗号分格一个字符串给前端,前端去处理展示字段的名字。但是简单的接口也要把参数和返回值写得让人一目了然。开发者自己也要注意接口内部的开发逻辑,比如要哪种接口,不同的接口怎么去用,包括后续进行性能优化的版本接口。这些问题后期我会一一讲解,本课提供的代码文档,也可以下载。

大家可以进入到项目群去获取对应的设计文档,因为要去调用接口,一是要有确定的接口地址,二是调用的时候通过接口有一个token的申请,申请后才有权利去调线上接口,也可以扫描进入在线实习小程序,去进入这个过程里。

posted @ 2022-12-13 15:23  校招VIP  阅读(70)  评论(0编辑  收藏  举报