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

相关文章:

  • mysql查看binlog日志
  • Node.js高频面试题精选及参考答案
  • TaskBuilder创建客户信息列表页面
  • Linux Iptables示例一则
  • 新手小白如何挖掘cnvd通用漏洞之存储xss漏洞(利用xss钓鱼)
  • 【CXX】4 跨平台构建系统特性对比
  • MySQL 如何使用EXPLAIN工具优化SQL
  • 沃丰科技大模型标杆案例|周大福集团统一大模型智能服务中心建设实践
  • 代码随想录day16
  • 常见的软件测试模型及特点
  • tailwindcss学习01
  • C语言复杂度分析
  • DeepSeek服务器繁忙 多种方式继续优雅的使用它
  • Bootstrap Blazor UI 中 <Table> 组件 <TableColumn> 使用备忘01:EF Core 外码处理
  • 云原生数据抽象与弹性加速:Fluid开源系统的技术解析
  • 【Python爬虫(29)】爬虫数据生命线:质量评估与监控全解
  • VSCode AI提效工具,通义灵码前端开发体验
  • 在实时大数据处理中如何平衡延迟和吞吐量
  • 一款开源可独立部署的知识管理工具!!
  • 罗德与施瓦茨SMB100A,一款卓越的中档模拟射频/微波信号源
  • java毕业设计之医院门诊挂号系统(源码+文档)
  • 【Scrapy】Scrapy教程7——存储数据
  • QILSTE H4-108TCG/5M高亮翠绿光LED灯珠 发光二极管LED
  • Python中numpy.loadtxt()函数的用法
  • Windows系统安装GPU驱动/CUDA/cuDNN
  • nessus kali 卸载
  • 使用Geotools读取DEM地形数据实战-以湖南省30米数据为例
  • 基于WebGIS技术的校园地图导航系统架构与核心功能设计
  • 《养生方法》(一)
  • Python常见面试题的详解9