# What Cloud Storage Providers Does PicList Support? A Complete Technical Guide

> Discover the extensive cloud storage providers supported by PicList including Alibaba Cloud, Tencent Cloud, Amazon S3, and more. Manage all your files effortlessly with this comprehensive guide.

- Repository: [Kuingsmile/piclist](https://github.com/kuingsmile/piclist)
- Tags: tutorial
- Published: 2026-03-05

---

**PicList supports over 20 cloud storage providers including Alibaba Cloud OSS, Tencent Cloud COS, Amazon S3, Qiniu, Huawei Cloud OBS, DogeCloud, and self-hosted options like Alist, SFTP, WebDAV, and GitHub, all managed through a unified plugin architecture defined in [`src/renderer/utils/static.ts`](https://github.com/kuingsmile/piclist/blob/main/src/renderer/utils/static.ts).**

PicList, an open-source image hosting and management tool maintained by **kuingsmile/piclist**, provides extensive cloud storage integration through its modular **PicBed** system. Understanding what cloud storage providers PicList supports is essential for configuring your workflow, whether you need enterprise-grade object storage or self-hosted alternatives.

## Complete List of Cloud Storage Providers Supported by PicList

The definitive registry of supported providers resides in **[`src/renderer/utils/static.ts`](https://github.com/kuingsmile/piclist/blob/main/src/renderer/utils/static.ts)**, specifically within the `picBedsCanbeDeleted` array that enumerates every back-end PicList can manage, synchronize, and delete files from.

### Major Cloud Object Storage Services

PicList natively integrates with leading cloud object storage platforms:

- **aliyun** – Alibaba Cloud OSS, configured via access keys and bucket regions
- **tcyun** – Tencent Cloud COS, supporting standard and custom domains
- **qiniu** – Qiniu Cloud Object Storage with automatic zone detection
- **huaweicloud-uploader** – Huawei Cloud OBS for enterprise deployments
- **aws-s3** / **aws-s3-plist** – Amazon S3 and variant configurations supporting signature v4
- **dogecloud** – DogeCloud OSS (Cloudflare-based) with temporary token support via `getTempToken` in [`src/main/manage/utils/dogeAPI.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/manage/utils/dogeAPI.ts)

### Image Hosting and CDN Services

Beyond traditional object storage, PicList supports specialized image hosting platforms:

- **smms** – SM.MS image hosting
- **imgur** – Imgur cloud hosting with OAuth support
- **upyun** – Upyun Object Storage and CDN
- **lskyplist** – LskyPro image hosting integration
- **github** – GitHub repository storage via raw file URLs

### Self-Hosted and Protocol-Based Storage

For users requiring on-premises or custom infrastructure:

- **alist** / **alistplist** – Self-hosted Alist file list service
- **sftpplist** – SFTP-based storage for secure file transfer
- **webdavplist** – WebDAV server compatibility
- **local** – Local filesystem storage for testing and offline workflows
- **piclist** – PicList's own built-in storage format

## How PicList Manages Cloud Storage Providers

PicList implements a layered architecture to standardize operations across diverse storage back-ends.

### Provider Registry in static.ts

The **[`src/renderer/utils/static.ts`](https://github.com/kuingsmile/piclist/blob/main/src/renderer/utils/static.ts)** file serves as the central registry. The `picBedsCanbeDeleted` array defines which providers support file deletion, while `picBedManualUrlList` maps each provider to its configuration documentation URL. For example, the Aliyun entry links to `https://piclist.cn/en/configure.html#alibaba-cloud`.

### Provider-Specific API Implementations

Each cloud storage provider has a dedicated implementation under **`src/main/manage/apis/`**:

- **[`tcyun.ts`](https://github.com/kuingsmile/piclist/blob/main/tcyun.ts)** – Tencent COS implementation with URL construction following the pattern `https://${bucket}.cos.${region}.myqcloud.com`
- **[`s3plist.ts`](https://github.com/kuingsmile/piclist/blob/main/s3plist.ts)** – Generic S3 logic handling region-specific endpoints and signature calculations
- **[`dogeAPI.ts`](https://github.com/kuingsmile/piclist/blob/main/dogeAPI.ts)** – DogeCloud-specific utilities including `dogecloudApi` and `getTempToken` for temporary credential generation

### Unified CRUD and Sync Engine

PicList abstracts provider differences through unified interfaces:

- **Deletion API** – **[`src/main/apis/delete/allApi.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/apis/delete/allApi.ts)** imports provider-specific classes (e.g., `DogeCloudApi`, `HuaweicloudApi`) and exposes a common `delete` method used by the gallery view
- **Sync Engine** – **[`src/main/utils/syncSettings.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/utils/syncSettings.ts)** coordinates bidirectional synchronization, comparing local gallery metadata against remote storage and handling uploads or deletions based on user preferences

## Configuration Examples for Popular Providers

### Alibaba Cloud OSS Configuration

Configure Aliyun OSS by specifying credentials in the PicList settings:

```json
{
  "picBed": {
    "aliyun": {
      "accessKeyId": "<Your AccessKey ID>",
      "accessKeySecret": "<Your AccessKey Secret>",
      "bucket": "my-piclist-bucket",
      "region": "cn-hangzhou",
      "customUrl": ""
    }
  }
}

```

The configuration UI links to the official guide at `https://piclist.cn/en/configure.html#alibaba-cloud` as defined in `picBedManualUrlList.en.aliyun`.

### DogeCloud Upload Script

For programmatic uploads using DogeCloud's temporary token system:

```javascript
// Example script using PicList's scripting system
import { getTempToken, dogecloudApi } from '~/manage/utils/dogeAPI'

async function uploadFile(path, file) {
  const token = await getTempToken('ACCESS_KEY', 'SECRET_KEY')
  const res = await dogecloudApi('/oss/putObject', {
    bucket: token.bucket,
    region: token.region,
    key: path,
    body: file
  }, true, token.accessKeyId, token.secretAccessKey)
  return res
}

```

This utilizes the `dogecloudApi` and `getTempToken` functions defined in **[`src/main/manage/utils/dogeAPI.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/manage/utils/dogeAPI.ts)**.

### Tencent Cloud COS File Deletion

To delete objects from Tencent COS programmatically:

```typescript
import { deleteObject } from '~/manage/apis/tcyun'

await deleteObject({
  bucketName: 'my-bucket',
  region: 'ap-guangzhou',
  key: 'images/photo.png'
})

```

The `deleteObject` function constructs the endpoint URL using the pattern `https://${bucket}.cos.${region}.myqcloud.com` as implemented in **[`src/main/manage/apis/tcyun.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/manage/apis/tcyun.ts)**.

## Summary

- PicList supports **over 20 cloud storage providers** ranging from major object storage services (Alibaba Cloud, Tencent Cloud, AWS S3) to self-hosted solutions (Alist, SFTP, WebDAV).
- The **`picBedsCanbeDeleted`** array in [`src/renderer/utils/static.ts`](https://github.com/kuingsmile/piclist/blob/main/src/renderer/utils/static.ts) serves as the definitive registry of supported providers.
- Each provider has dedicated API implementations under `src/main/manage/apis/` with standardized CRUD operations unified through [`src/main/apis/delete/allApi.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/apis/delete/allApi.ts).
- Configuration documentation URLs are mapped in `picBedManualUrlList` within [`static.ts`](https://github.com/kuingsmile/piclist/blob/main/static.ts), linking to official setup guides at piclist.cn.

## Frequently Asked Questions

### Does PicList support Amazon S3-compatible storage?

Yes, PicList includes built-in support for **Amazon S3** through the `aws-s3` and `aws-s3-plist` providers. The implementation in [`src/main/manage/apis/s3plist.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/manage/apis/s3plist.ts) handles region-specific endpoints and signature v4 authentication, making it compatible with any S3-compatible service including MinIO, Wasabi, and DigitalOcean Spaces.

### Can I use PicList with self-hosted storage solutions?

Absolutely. PicList supports several self-hosted options including **Alist** (`alist`/`alistplist`), **SFTP** (`sftpplist`), and **WebDAV** (`webdavplist`). These providers are implemented in dedicated modules under `src/main/manage/apis/` and allow you to connect to private infrastructure without relying on commercial cloud services.

### How does PicList handle file deletion across different providers?

PicList implements a unified deletion interface in [`src/main/apis/delete/allApi.ts`](https://github.com/kuingsmile/piclist/blob/main/src/main/apis/delete/allApi.ts) that imports provider-specific classes such as `DogeCloudApi` and `HuaweicloudApi`. When you delete a file through the gallery view, the system dispatches to the appropriate provider's delete method, ensuring consistent behavior whether you're using Tencent COS, Alibaba OSS, or GitHub storage.

### Where can I find configuration instructions for a specific provider?

Configuration documentation URLs are centralized in the `picBedManualUrlList` object within [`src/renderer/utils/static.ts`](https://github.com/kuingsmile/piclist/blob/main/src/renderer/utils/static.ts). Each provider maps to a specific anchor link on piclist.cn, such as `https://piclist.cn/en/configure.html#alibaba-cloud` for Aliyun OSS. Clicking the "Configure" button in the PicList UI automatically opens the relevant documentation page.