🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、概述 有些业务场景中,使用库表保存,仅理论可行,但考虑性能和可伸缩性,实际使用库表保持并不是最优方案,比如电商业务; 那么,可以使用文件来保存,当然文件的存储可以采用网络存储或本地解决方案,平台提供了一个通用解决方案,后端可以通过参数来配置当前项目启用本地存储还是网络存储,它们都是以文件为存储的形式,可以通过路径直接访问; 下面介绍一下本地存储的技术方案,网络存储比较简单,直接调用方案商提供的官方接口即可; ## 二、图片文件存储 ### **配置** ``` # 路径配置必须以/结尾 rayframework.path.static-image-local-root-path=/usr/lib/app/resource/images/ # 生成的访问地址配置实际的访问根路径 rayframework.url.static-image-local-access-url=http://mall.rayfarmework.org/raysale ``` ### **文件上传代码** 前端调用接口`/api/system/common/upload/image`,传入图片的base64编码字符,上传成功后,后端将会给前端返回一个文件访问路径字符串,前端将它存入数据库中该图片的字段做代表图片,即可; ### **使用** #### 实例 调用接口`/api/system/common/upload/image`上传,返回http://192.168.43.114:80/rayimage/20210915/20210915092236219.png: ![](https://img.kancloud.cn/74/52/74527e91233203a52e03089fe0e6745b_1349x689.png) ## 三、其他文件存储 音频、视频、文档及其他杂类文件,都有专用接口,跟图片文件的方案完全一样,只是接口名称发生了变化; ``` rayframework.path.static-image-local-root-path= rayframework.path.static-audio-local-root-path= rayframework.path.static-video-local-root-path= rayframework.path.static-doc-local-root-path= rayframework.path.static-misc-local-root-path= ``` ``` rayframework.url.static-image-local-access-url= rayframework.url.static-audio-local-access-url= rayframework.url.static-video-local-access-url= rayframework.url.static-doc-local-access-url= rayframework.url.static-misc-local-access-url= ``` 对应接口: ``` /api/system/common/upload/image /api/system/common/upload/audio /api/system/common/upload/video /api/system/common/upload/doc /api/system/common/upload/misc ```