当前位置: 首页 > news >正文

ShenNiusModularity项目源码学习(10:ShenNius.FileManagement项目分析)

  ShenNiusModularity项目支持七牛云和本地图片存储,其文件上传接口及实现就位于ShenNius.FileManagement项目内,该项目内文件不多,主要就是围绕上传本地及七牛云的实现及相关类定义。
  扩展类FileManagemenServiceExtensions的AddFileUpload函数用于根据项目启动时的设置注册文件上传服务,在ShenNius.Admin.API项目的ShenniusAdminApiModule.OnConfigureServices函数内调用,默认将文件上传到本地。
  Helper类定义上传文件时所需的辅助函数,就两个:GetStreamMd5函数计算文件的md5值,ImgSuffixIsExists函数判断上传的文件是否图片(根据文件后缀名判断),不是图片抛异常,是图片的话则返回保存文件时所用的文件名,ico文件为固定文件名,其它图片则使用的md5值作为文件名。
  IUploadFile接口定义了四个函数:上传单个文件、上传多个文件、删除单个文件、获取文件列表,上传文件函数的输入参数之一为prefix,该参数用于设置文件保存目录。LocalFile类为上传本地实现类,默认将文件上传到wwwroot/Files/prefix路径下;QiniuCloudIFile类为上传到七牛云实现类,默认将文件上传到BasePath + prefix目录下,访问七牛云所需的参数保存到启动项目的appsettings.json的QiNiuOss节,具体如何访问请见参考文献2.

  ShenNius.Admin.API项目的ArticleController、GoodsController、UploadController等3个控制器中使用IUploadFile接口,主要用于上传文章图片、商品图片等。

参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity
[2]https://developer.qiniu.com/kodo/manual/put-policy

http://www.dtcms.com/a/28408.html

相关文章:

  • Java语法-集合
  • Java——继承
  • 【OS安装与使用】part5-ubuntu22.04基于conda安装pytorch+tensorflow
  • 深入解析 sudo -l 命令的输出内容
  • pdf预览在vue项目中的使用兼容ie浏览器
  • 面对STM32的庞大体系,如何避免迷失在细节中?
  • [python]windows上安装yolov12环境
  • 选好加密狗,一次说全
  • Deepseek快速做PPT
  • Go Web 项目实战:构建 RESTful API、命令行工具及应用部署
  • 用C++ Qt实现安卓电池充电动效 | 打造工业级电量控件
  • nodejs链接redis
  • webSocket
  • Python装饰器本质250220
  • HTTP与网络安全
  • 华为最新OD机试真题-找单词-Python-OD统一考试(E卷)
  • topN 相似度 torch实现
  • Oracle JDK、Open JDK zulu下载地址
  • Java 与设计模式(17):责任链模式
  • 使用 Docker-compose 部署 MySQL
  • 【蓝桥】二分法
  • DP-最长公共子序列
  • 【Alertmanager】alertmanager告警系统原理剖析与应用实战,应有尽有非常全面
  • Qt能正常编译和执行,但是文本报错找不到文件
  • 程函方程的详细推导
  • MySQL_事务的四大特性
  • 【网络安全 | 漏洞挖掘】价值$40000:从路径遍历升级至RCE
  • CSS三大特性——继承、优先级与层叠
  • Redis的预备知识
  • C++中间件DDS介绍