当前位置: 首页 > 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.mrgr.cn/news/91710.html

相关文章:

  • RAGFLOW使用flask转发的open ai接口
  • 5.5 Soft Prompt技术:任务特定微调的新范式
  • 【清华大学】DeepSeek从入门到精通完整版pdf下载
  • Python学习心得面向对象的三大特征
  • CPU与GPU之区别(The Difference between CPU and GPU)
  • go~为什么会有json.Number这种类型存在
  • php文件包含
  • Windows 环境下配置多个不同版本的 Maven
  • 代码随想录-- 第一天图论 --- 岛屿的数量
  • 2526考研资料分享 百度网盘
  • 浅谈 — 分布式系统中的幂等性
  • ZLMediaKit Windows 编译指南
  • 千峰React:组件使用(1)
  • 【Quest开发】全身跟踪
  • 数仓搭建(hive):DWS层(服务数据层)
  • Jmeter连接数据库、逻辑控制器、定时器
  • leetcode203.移除链表元素
  • 【Java】泛型与集合篇 —— 泛型
  • SCANet代码解读
  • 【Elasticsearch】`nested`和`flattened`字段在索引时有显著的区别