# dromara/x-file-storage

一行代码将文件存储到 本地、FTP、SFTP、WebDAV、谷歌云存储、阿里云OSS、华为云OBS、七牛云Kodo、腾讯云COS、百度云 BOS、又拍云USS、MinIO、 AWS S3、FastDFS、 Azure Blob Storage、金山云 KS3、美团云 MSS、京东云 OSS、天翼云 OOS、移动云 EOS、沃云 OSS、 网易数帆 NOS、Ucloud US3、青云 QingStor、平安云 OBS、首云 OSS、IBM COS、其它兼容 S3 协议的平台。后续即将支持 Samba、NFS

Repository: https://github.com/dromara/x-file-storage
Canonical: https://ross.abutalabs.com/products/x-file-storage
Homepage: https://x-file-storage.xuyanwu.cn/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: file-storage, file-upload, ftp, java, oss, s3, sftp, spring, webdav, bos, kodo, minio, uss
Last push: 2026-05-07T07:15:41+00:00

## Health v2 (maintenance only)
Score: 59/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 81, release rhythm 8, longevity 100
- inputs: {"age_days": 2086, "days_push": 118, "days_rel": 437, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2213, forks 328 (observed 2026-08-28T04:06:26.969993+00:00)

## What it is
A Java library (part of the Dromara ecosystem) that lets developers store files to local disk, FTP/SFTP, WebDAV, and dozens of cloud object storage platforms (Alibaba OSS, Tencent COS, AWS S3, MinIO, Azure Blob, etc.) with a single line of code. It provides a unified API over heterogeneous storage backends and supports migrating files between platforms.

## Use cases
- upload files to aliyun oss from a spring boot app
- switch between s3 and minio without changing code
- store uploaded files to ftp or webdav in java
- migrate files between cloud storage providers
- unified file storage api for multiple cloud providers
- save files to tencent cos with one line of code

## When to choose
- you're building a Java/Spring application that needs to support multiple or swappable storage backends
- you want one consistent API over local disk, FTP, WebDAV, and S3-compatible clouds
- you need to migrate files between storage platforms

## When to avoid
- you're not on the JVM (this is a Java library)
- you only ever target a single storage provider and prefer its official SDK directly
- you need streaming or very large-file handling features beyond what the library exposes

## Facets
- artifact type: library
- maturity: active
- function: file-upload, object-storage, sdk, developer-tools
- domain: files, backend, web-development, cloud-computing, developer-tools
- platform: jvm, cross-platform
- tags: file-storage, abstraction-layer, s3-compatible, spring-boot, multi-cloud, dromara, spring

## Member repositories
- dromara/x-file-storage (main) score 59

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:26.969993+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:46:00.780707+00:00, confidence not recorded.
  - readme: https://github.com/dromara/x-file-storage (fetched 2026-08-28T04:06:26.969993+00:00, sha c9edf492d836)
  - homepage: https://x-file-storage.xuyanwu.cn/ (fetched 2026-08-29T10:26:21.348317+00:00, sha a700e9023392)
- Data as of 2026-08-30T08:39:29.467469+00:00.
