文件上传处理办法

1、所有上传的资源文件存储在阿里云OSS上面,一共分为三个大区域:temp、comm、enterprise。

  1. temp为临时存储区域,在上传时存储到temp区域,待后端业务逻辑处理后迁移到comm或者 enterprise中,temp区域的文件会定时删除!
  2. comm为公共区域。管理后台及程序引用的js、css、图片等
  3. enterprise为企业用户自己的区域。凡是在工作台和企业后台上传的资源最终都存储在该区域中。

2、管理后台上传的资源存储在comm区域,前端代码无需修改,仅后端代码上传之后需要做移动资源的处理。以帮助文档为例:

  1. 前端上传地址为:/comm/comm/upload
  2. 控制器的新增、修改保存之后执行  _helpFile.MoveImg(model) 方法
  3. 对应BLL层 MoveImg 方法为:
    public void MoveImg(Admin.Models.Business.HelpFile model)
            {
                var doc = HtmlParser.Parse(model.Contents);
                var imgs = doc.getElementsByTagName("img");
                if (imgs != null)
                {
                    foreach (var item in imgs)
                    {
                        try
                        {
                            string src = item.getAttribute("src");
                            src = XYHLObject.MoveTempFile(src, string.Format(ResourcePath.HelpFile, model.Id), true);
                            item.setAttribute("src", src);
                        }
                        catch
                        {
                            throw;
                        }
                    }
                    model.Contents = doc.ToString();
                }
                Save(model);
            }

3、工作台和企业后台上传需要前后台配合完成,相关接口文档参见 http://192.168.1.131/repository/editor?id=16&mod=54&itf=564 。具体开发流程如下:

 

  1. 前端设置上传url为:/comm/res/upload 。
  2. 上传成功后返回的数据为:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
      "data": {
        "fileName""文件名称",
        "fileSize": 文件大小,
        "thumbnail""缩略图,非图片类型是返回类型图标,图片是返回64*64大小的图片",
        "isImage": 是否是图片,
        "id""资源Id",
        "url""资源访问地址"
      },
      "msg""操作成功",
      "statusCode": 100
    }
     
  3. 前端业务向后端提交数据时仅提交资源id即可。
  4. 后端业务处理时根据需要将资源存储在 enterprise 区域的指定位置。
  5. 前端在访问资源url为:https://www.hqxz360.com/comm/res/show?id=1&min=0&w=64&h=64 。min为是否缩略图显示,w为缩略图的宽度,h为缩略图的高度。
  6. 任务创建后的附件上传时需要携带任务id及类型,在上传接口文档中有说明。
posted @ 2021-03-02 18:12  试问蟾宫  阅读(185)  评论(0编辑  收藏  举报