文件的访问没有任何限制,任何用户都能访问的文件称之为 公有文件。例如:商品的展示图片,免费的电子表格的模板,网站提供的免费视频等。
信息结构图中存储位置中出现"public" 字样。就为公有文件。
文件的访问受限制,需要访问者符合条件才能访问的文件称之为 私有文件。例如:用户自己私密照片,只有会员资格才能看的视频等。
信息结构图中这类文件的存储位置中不能包含"public" 字样。就为私有文件。
公有文件: 没有任何额外的操作,存储位置中 带有public,既可。
私有文件:
1. 首先为每一类私有文件创建对应的权限控制视口: 新建视口,URL地址必须以 /rwtarget/ 开头,后缀对应此类文件的类型。例如: /rwtarget/vip/***.mkv
2. 新创建的视口中做好访问条件的判断,当满足访问条件的情况下才利用 私有文件代码段返回私有文件。
3. 所有需要用到私有文件url的地方都应该返回此类私有文件对应的视口地址, 只不过视口地址需要做一下转换. 例如上文中的 /rwtarget/vip/***.mkv 对应的URL为: /rw/vip/***.mkv . 如果需要传递参数. /rw/ [key-value] /vip/***.mkv
1.以" / " 结尾,表示这个字段为目录,文件上传上来后,以原始文件名保存. 适用场景: 不确定本字段会存储多少个文件的时候,比如可以一个文件选择框允许用户选择多个文件一起上传.
2."xxxx.xx" ,表示固定文件名,上传上来的文件全部以这个 xxxx.xx 保存. (覆盖模式). 适用场景: 本字段就存储一个固定的文件,比如头像.
3."${filename}" 表示保留原始文件名. 适用场景: 本字段,只会有一个文件,但是要求保留原始文件名.
4."${filenamemd5} " 表示利用原始文件名做md5计算后的结果做文件名,但是文件后缀保持不变. 适用场景: 最初设计是为了解决日文,韩文或其他文字时文件名乱码而设计的.虽然现在此问题已经得到修复,但是此特性还是保留了.
5."文件名.${extname} " 表示固定文件名,但是保留原始文件后缀. 适用场景: 本字段只会有一个文件,文件名固定,但是文件后缀需要保留原始后缀.
注意: 不需要考虑文件后缀的问题,比如用户上传了 a.png,但是被我们存成了b或者b.jpeg,这不会影响这个文件的正常使用.