使用ruoyi测试,https://github.com/dromara/x-file-storage

在pom.xml引入依赖

<!-- 引入本项目 -->
        <dependency>
            <groupId>org.dromara.x-file-storage</groupId>
            <artifactId>x-file-storage-spring</artifactId>
            <version>2.3.0</version>
        </dependency>

在application.yml增加配置

dromara:
  x-file-storage: #文件存储配置
    default-platform: local-plus-1 #默认使用的存储平台
    local-plus: # 本地存储升级版
      - platform: local-plus-1 # 存储平台标识
        enable-storage: true  #启用存储
        enable-access: true #启用访问(线上请使用 Nginx 配置,效率更高)
        domain: http://127.0.0.1:8030/file/ # 访问域名,访问域名,例如:“http://127.0.0.1:8030/file/”,注意后面要和 path-patterns 保持一致,“/”结尾,本地存储建议使用相对路径,方便后期更换域名
        base-path: local-plus/ # 基础路径
        path-patterns: /file/** # 访问路径
        storage-path: D:/Temp/ # 存储路径

写个测试方法

     @Autowired
    private FileStorageService fileStorageService;

    @Anonymous
    @PostMapping("/upload")
    public String upload(@RequestParam("file") MultipartFile file) {
        FileInfo fileInfo = fileStorageService
                .of(file)
                .setPath("upload/") // 保存到相对路径下,为了方便管理,不需要可以不写
                .setObjectId("0") // 关联对象id,为了方便管理,不需要可以不写
                .setObjectType("0") // 关联对象类型,为了方便管理,不需要可以不写
                .upload(); // 将文件上传到对应地方
        return fileInfo == null ? "上传失败!" : fileInfo.getUrl();
    }

注意,由于ruoyi框架默认对控制器方法进行权限拦截,需要加上@Anonymous注解放行

打开postman

返回链接,检查文件,

测试成功,对于其它不同的文件平台直接改配置文件即可!

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐