轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
mayth/simple-upload-server
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

simple-upload-server Docker 镜像下载 - 轩辕镜像

simple-upload-server 镜像详细信息和使用指南

simple-upload-server 镜像标签列表和版本信息

simple-upload-server 镜像拉取命令和加速下载

simple-upload-server 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

simple-upload-server
mayth/simple-upload-server
自动构建

simple-upload-server 镜像详细信息

simple-upload-server 镜像标签列表

simple-upload-server 镜像使用说明

simple-upload-server 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

用Golang编写的简单HTTP上传服务器,用于存储文件制品,支持文件上传、下载、基本认证及CORS,可通过命令行参数或配置文件灵活配置。
8 收藏0 次下载activemayth镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

simple-upload-server 镜像详细说明

simple-upload-server 使用指南

simple-upload-server 配置说明

simple-upload-server 官方文档

go-simple-upload-server

镜像概述和主要用途

go-simple-upload-server 是一个用Golang编写的轻量级HTTP服务器,主要用途是存储文件制品。它提供简单的文件上传、下载功能,并支持基于token的认证机制,适用于个人文件存储、小型团队共享或CI/CD制品暂存等场景。

核心功能和特性

  • 文件操作:支持通过POST /upload上传文件(自动命名)、PUT /files/:path指定路径上传,以及GET /files/:path下载文件
  • 认证控制:基于token的访问控制,区分只读令牌(允许GET/HEAD)和读写令牌(允许POST/PUT/GET/HEAD)
  • 灵活配置:支持命令行参数或配置文件设置,包括监听地址、文档根目录、最大上传大小、文件命名策略等
  • CORS支持:默认启用跨域资源共享,便于前端应用集成
  • 安全控制:可配置为只读模式(仅提供下载功能)

使用场景和适用范围

  • 个人文件临时存储或共享
  • 小型团队内部文件交换
  • CI/CD流程中构建制品的临时存储
  • 前端应用的简单文件上传后端

使用方法和配置说明

命令行参数

参数类型默认值描述
-addrstring127.0.0.1:8080服务器监听地址
-configstring-配置文件路径(命令行参数优先级高于配置文件)
-document_rootstring.文档根目录(文件存储路径)
-enable_authboolfalse是否启用认证机制
-enable_corsbooltrue是否启用CORS头
-file_naming_strategystringuuid文件命名策略(默认使用UUID)
-max_upload_sizeint1048576 (1MB)最大上传大小(字节)
-read_only_tokensvalue-逗号分隔的只读令牌列表
-read_write_tokensvalue-逗号分隔的读写令牌列表
-shutdown_timeoutint15000 (15s)优雅关闭超时时间(毫秒)

基本使用示例

简单启动(无认证)

docker run -p 8080:8080 -v ./data:/data go-simple-upload-server -addr 0.0.0.0:8080 -document_root /data

启用认证(带读写令牌)

docker run -p 8080:8080 -v ./data:/data go-simple-upload-server \
  -addr 0.0.0.0:8080 \
  -document_root /data \
  -enable_auth \
  -read_write_tokens "rw_token1,rw_token2" \
  -read_only_tokens "ro_token1"

认证机制

默认无需认证,启用认证需设置-enable_auth=true,并配置令牌:

  • 只读令牌(read_only_tokens):允许执行GET(下载)、HEAD(检查文件存在)操作
  • 读写令牌(read_write_tokens):允许所有只读操作及POST(上传)、PUT(指定路径上传)操作

认证方式:

  • 通过Authorization: Bearer <TOKEN>请求头传递
  • 或通过token=<TOKEN>查询参数传递(请求头优先级更高)

认证失败响应:401 Unauthorized,响应体为{"ok": false, "error": "unauthorized"}

TLS支持

v2版本移除了内置TLS支持,建议通过反向代理(如Nginx)实现HTTPS。

API文档

POST /upload

上传文件,服务器自动生成文件名(基于命名策略)

请求

  • Content-Type:multipart/form-data
  • 参数:
    名称是否必填类型描述默认值
    file是Form Data文件内容-
    overwrite否boolean是否允许覆盖已有文件false

响应

  • 成功:201 Created,Content-Type: application/json
    {"ok": true, "path": "/files/<filename>"}
    
  • 失败:409 Conflict(文件已存在且未允许覆盖)

示例

curl -F "file=@localfile.txt" http://localhost:8080/upload

PUT /files/:path

上传文件并指定存储路径(忽略原始文件名)

请求

  • 参数:
    名称是否必填类型描述默认值
    :path是URL路径服务器存储路径(如/docs/report.pdf)-
    file是Form Data文件内容-
    overwrite否boolean是否允许覆盖已有文件false

响应

  • 成功:201 Created,Content-Type: application/json
    {"ok": true, "path": "/files/<path>"}
    
  • 失败:409 Conflict(文件已存在且未允许覆盖)

示例

curl -X PUT -F "file=@localfile.txt" http://localhost:8080/files/docs/report.pdf

GET /files/:path

下载指定路径的文件

请求

  • 参数:
    名称是否必填类型描述
    path是URL路径文件存储路径

响应

  • 成功:200 OK,响应体为文件内容(Content-Type自动推断)
  • 失败:404 Not Found(文件不存在)

示例

curl http://localhost:8080/files/docs/report.pdf -o downloaded.pdf

HEAD /files/:path

检查文件是否存在(仅返回响应头,无响应体)

请求

  • 参数:path(URL路径,文件存储路径)

响应

  • 成功:200 OK(文件存在)
  • 失败:404 Not Found(文件不存在)

示例

curl -I http://localhost:8080/files/docs/report.pdf

OPTIONS /files/:path 和 OPTIONS /upload

CORS预检请求(无需认证,始终返回204 No Content)

注意

  • 不支持 OPTIONS * HTTP/1.1 格式请求
  • 即使文件不存在,OPTIONS /files/:path 仍返回 204 No Content

测试

本地测试

# 运行所有测试(含端到端测试)
go test ./...

# 使用真实文件系统测试(需确保文档根目录为空)
TEST_WITH_REAL_FS="./testdata" go test ./...

# 测试远程服务器(需提前清空目标服务器文档根目录)
TEST_TARGET_ADDR="localhost:8080" go test ./...

Docker Compose测试

# 运行端到端测试
docker compose -f docker-compose.e2e.yml run --rm test

# 测试完成后清理
docker compose -f docker-compose.e2e.yml down --rmi local --volumes
查看更多 simple-upload-server 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.