• 文件服务器


    概念

    实现对文件增删改查,若是图片服务器需要考虑图片的压缩

    文件服务器的好处

    文件你存储在电脑里面也可以,存储在电脑里面给一个路径就可以了,为什么要用文件服务器;

    1. 对文件的操作有记录 比如增删改查,可以花式查询并对结果做操作,之前需要用比较复杂的正则才可以

      做到,比如按照日期查询,尤其是数量高到几万的时候,Window自带的文件管理存在不足;

      查询出一批数据到别的地方,或者对其进行不同比例的压缩,前端有需要的去选择图片;

    2. 可以利用索引,比如GridFS建立表的时候会自动对Filename和ID做索引;
    3. 对文件的操作有了一个可以分的比较详细的权限管控,可以任意的与别的权限系统管理
    4. 可以对文件进行拆分,比如我只让你看到一部分这种;

    文件服务器的功能

    文件的增加

    • 前缀地址+相对地址1+所添加文件的二进制所转化的Base64String --->添加成功 --->返回success+URL;

    其中URL地址为后面一部分路径(非Ip和端口部分)存数据库;

    • 我这里是只存储在一个地址上面,不备份不容灾;
    • 文件命名规则 返回GUID还是别的
    • 文件存储路径 是一个表存储一个路径还是再仔细分
    • 后端还是否需要对文件后缀名做判断
    • 我这里必须对传递过来的文件大小做出判断,过大了不给存储;

    文件的修改

    文件的删除

    文件的查询

    图片的压缩

    最好是前端压缩???

    文件服务器

    MongoDB

    • <16M

      当文档过小时,直接存储在文档对象中比较合适,

    https://www.cnblogs.com/yilezhu/p/9315644.html

    • MongoDB>16M

    MongoDB-GridFS

    原理:驱动会在当前数据库创建2个集合,一个"fs.files" 和“fs.chunks” 集合

    fs.files 记录文件名称,创建时间,文件类型等基本信息;

    fs.chunks 分块存储了文件的二进制数据,分块的意思是指把文件分割成指定大小进行分割,然后存入多个文档中;

    FastDSF

    部署复杂,没有对.net core 做优化;

    https://www.cnblogs.com/yilezhu/p/12797543.html

    MinIO

    分布式,性能最好

    https://www.cnblogs.com/yilezhu/p/12830123.html

    第三方平台存储

    阿里云OSS或者七牛

    前端框架

    UpLoadFile

    SixLabors

    TODO 不会用

    其它

    TODO

    注意事项

    • 图片尺寸最大值的限制,一个是网速,一个是存储空间,可以设置手机相机像素或者是再前端压缩后再上传

    - 有分布式文件框架更好,没有也没有关系

  • 相关阅读:
    python开发环境准备
    MacOS X 安装OpenCV3.2
    tensorflow源码分析——BasicLSTMCell
    结对开发求一数组的最大子数组的和
    结对开发读文本中的二维数组求该二维数组最大子数组的和
    随机四则运算的出题程序java
    突现灵感想出较新简单算法实现求一数组最大子数组的和
    四则运算C++版
    Cys_Control(一) 项目搭建
    Cys_Control(二) MButton
  • 原文地址:https://www.cnblogs.com/maanshancss/p/12937720.html
Copyright © 2020-2023  润新知