获得徽章 0
- 设计的文件上传表,求指教!
# 文件上传表
用于存储用户(会员、管理员等)上传的文件,支持图片、文本类、办公类、压缩包、安装包等。
## 存储方式
直接影响到文件的访问形式,主要分为如下三种方式:
- local,最常用的一种存储方式,以文件的形式存储在本地;
- cloud,为了节约成本,提高响应速度,将文件存储在云端(如七牛)的方式;
- blob,将文件以字符串或二进制的形式存储在指定介质(如数据库)中的方式。
## 存储字段说明
在设计数据表的时候,虽然有些字段是可选的,但是为保证程序的健壮、数据的完整,程序应该控制某些字段是必选的,如扩展名、mime类型、其关联者等。
#### 字段列表:
- path 可选,文件的存储路径;
- data 可选,文件内容、相关属性(如图片的宽高、方向等)或云端参数 ;
- extension 可选,文件的扩展名;
- mime 可选,文件mime类型;
- size 可选,文件大小;
- uploaded 必选,文件上传的时间;
- contact 可选,文件归属对象;
- contact_id 可选,归属对象编号。
- mode 可选,存储方式,local、cloud和blob;
- scope 可选,可访问环境(如app、wap、pc、公众号、小程序等),配合限行方案实现。
#### 注意事项
path和data至少其中一个有值,根据存储方式,应该有如下对应的处理方式:
1. 将上传的文件以blob的方式存储在data上,则path应该为空;
2. 将上传的文件以local方式存储在本地,data可以为空,path存储其访问路径;
3. 将上传的文件以cloud方式存储,则根据云端API,data可能是访问云端需要的参数,path可能是访问云端的路径。展开评论点赞