--- title: AList简介和使用 date: 2025-12-17 --- # 一、简介   [AList](https://alistgo.com/zh/)是一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动。 # 二、安装 ## 2.1 Docker安装 ```yml services: alist: image: xhofe/alist:v3.41.0 container_name: alist restart: unless-stopped volumes: - ./data:/opt/alist/data - /srv:/srv ports: - "5244:5244" environment: - PUID=0 - PGID=0 ```   这里的srv为宿主机的系统服务数据目录,添加该映射,可以让Alist能够访问宿主机/srv目录下的本地文件。 # 三、挂载 ## 3.1 挂载本地存储   打开控制台,选择存储->添加->本地存储,设置挂载路径(自定义,如`/local`),选择根文件夹路径为`/srv`,点击添加。   这里的`/srv`文件夹为`docker`里面的文件夹路径,一般只需要更改`docker compose`文件里面的`/srv:/srv`前面的`srv`路径为宿主机路径即可,后面的`/srv`路径不要更改。   可以在宿主机的`/srv`目录中添加文件,查看AList的主页是否可以正确显示。 # 四、API   在线调试地址:[Alist-Public](https://alist-public.apifox.cn/) ## 4.1 登录 ```JavaScript const username = '' const password = '' // 1. 登录获取token const login = await axios.post(`${AListUrl}/api/auth/login`, { username, password }) const token = login.data.data.token ``` ## 4.2 上传文件 ```JavaScript const data = new FormData() data.append('file', options.file) const filePath = `${AListPath}/${options.file.name}` await axios({ method: 'put', url: `${AListUrl}/api/fs/form`, headers: { Authorization: token, 'File-Path': filePath }, data }) ``` ## 4.3 下载文件   在AList的文件路径中加上前缀`/p/`。例如文件路径为`/local/Test/test.mp4`,则下载路径为`/p/local/Test/test.mp4`。 ::: tip 以上为相对路径,使用时加上相应的ip和端口号。 ::: ::: warning 如果出现无法访问的情况,需要在设置->全局里面,将`签名所有`关闭。 签名所有:Alist是否将为这个存储下的所有文件请求生成带签名的临时链接,如果开启则需要带上校验码签名,否则不需要。 :::