imgurl,一个免费的图床(中国大陆可直接访问)

imgurl,一个免费的图床(中国大陆可直接访问)

doubao_generated_image_3_20250913_092034.png

阅读原文

建议阅读原文,始终查看最新文档版本,获得最佳阅读体验:《imgurl,一个免费的图床(中国大陆可直接访问)》

引言

最近我在研究如何利用AI自动生成小红书笔记,以及合适的配图,在此过程中,我希望能将文生图生成的图片上传到图床或者某个网络存储平台上,方便后续通过url直接引用相应的图片。我找到了几个很受欢迎的图床。最终选择了ImgURL.org ,因为中国大陆可以直接访问,而且免费额度也挺多的,而且,最重要的是支持restful API。

当然了,还有几个图床也是非常棒的,只是中国大陆访问很不稳定。如imgbb,路过图床 (imgse.com)和Catbox。

介绍

ImgURL.org 是由小z博客团队开发和维护的一款国内图床服务平台,支持 JPG、PNG、GIF、WEBP 等多种图片格式上传,提供包括拖拽上传、相册分类、外链生成、批量管理等功能,同时开放 RESTful API 接口,便于开发者集成至第三方系统或自动化工具中使用;用户可通过注册账户获得专属 uidtoken,实现图片上传、查看历史记录、相册管理等高级功能,是一款面向开发者和内容创作者的轻量级图像托管与分发解决方案。

功能:

图片上传功能

  • ✅ 支持图片格式:JPG、JPEG、PNG、GIF、BMP、WEBP

  • ✅ 上传方式:

    • Web 页面上传(支持拖拽)

    • 粘贴板粘贴上传

    • RESTful API 上传(支持第三方工具调用)

  • ✅ 上传后自动生成图片外链(含 HTML、Markdown、BBCode、直链等格式)

  • ✅ 自定义压缩与重命名规则(后台设置)


📁 图片管理功能

  • ✅ 相册分类管理(可创建多个相册)

  • ✅ 图片列表查看(支持分页、搜索)

  • ✅ 图片删除、一键复制外链

  • ✅ 查看历史上传记录

  • ✅ 按上传时间、大小、名称排序


🔐 账号与权限控制

  • ✅ 用户注册登录系统(支持令牌 token 管理)

  • ✅ 每位用户拥有独立 UID 和上传密钥 Token

  • ✅ 后台支持 Token 刷新、失效控制

  • ✅ 上传权限控制(防止匿名上传)


🔌 API 接口支持

  • ✅ RESTful 上传接口(支持通过 curl、Python、PowerShell 等工具调用)

  • ✅ 接口参数包括:uidtokenfilealbum_id(可选)

  • ✅ 返回标准 JSON 格式,含上传状态与图片信息


⚙️ 后台管理功能(管理员)

  • ✅ 用户管理(可禁用用户、查看上传记录)

  • ✅ 图片总览与全局图片搜索

  • ✅ 系统配置(如上传大小限制、水印设置、存储路径配置)

  • ✅ 多语言支持、主题自定义


☁️ 部署与扩展性(ImgURL Pro / 开源版)

  • ✅ 提供开源部署版本(支持私有化部署)

  • ✅ 支持 OSS、本地存储等多种存储方案

  • ✅ 自带防盗链机制(可设置 Referer 白名单)

官网

https://www.imgurl.org/

免费额度

免费用户每日最多上传10张图片,每个月最多上传300张图片,存储容量为1GB,其实还是够用的,如果不够,可以购买VIP

image.png

获取uid和API token

只有注册用户才能在网页端和通过API上传图片。

注册很简单,本文不再赘述。成功注册后,登录,然后在后台管理页面就能查看uid和生成API token了。

image.png

有了uid和token,就能通过restful API上传图片了

通过restful API上传图片

官方文档:API | 藏经阁

首先要知道自己账户的uid和token,可以看上一节说明。

以下命令演示如何通过Powershell上传本地图片至imgurl上

# ImgURL API 上传图片脚本

# ===================================================
# 请替换以下参数为你的实际信息
# ===================================================

# ImgURL API 上传接口地址
$ApiUrl = "https://www.imgurl.org/api/v2/upload"

# 你的用户 ID (UID) - 请从 ImgURL 后台 "管理 - API 令牌" 获取
$Uid = "<替换为你的uid>"

# 你的 API 令牌 (Token) - 请从 ImgURL 后台 "管理 - API 令牌" 获取
# !!! 重要:请妥善保管你的 API 令牌,不要泄露。
$Token = "<替换为你的Token>"

# 本地图片文件路径
# 例如:C:\Users\YourUser\Pictures\my_image.jpg
$ImagePath = "<替换为你的图片的具体路径>"

# 可选:如果你想上传到特定相册,请填写相册 ID。
# 如果不需要,请保持为空字符串或删除此行
$AlbumId = "" # 例如: "12345"

# ===================================================
# 脚本核心逻辑
# ===================================================

# 检查文件是否存在
if (-not (Test-Path $ImagePath)) {
    Write-Host "错误:图片文件未找到!请检查路径是否正确:$ImagePath" -ForegroundColor Red
    exit
}

# 构建 multipart/form-data 请求体
$FileBytes = [System.IO.File]::ReadAllBytes($ImagePath)
$FileName = [System.IO.Path]::GetFileName($ImagePath)

$Boundary = [System.Guid]::NewGuid().ToString("N")
$ContentType = "multipart/form-data; boundary=`"$Boundary`""

$Body = New-Object System.IO.MemoryStream
$Writer = New-Object System.IO.StreamWriter($Body)

# 添加 uid 字段
$Writer.WriteLine("--$Boundary")
$Writer.WriteLine("Content-Disposition: form-data; name=`"uid`"")
$Writer.WriteLine()
$Writer.WriteLine($Uid)

# 添加 token 字段
$Writer.WriteLine("--$Boundary")
$Writer.WriteLine("Content-Disposition: form-data; name=`"token`"")
$Writer.WriteLine()
$Writer.WriteLine($Token)

# 如果存在 album_id,则添加
if (-not [string]::IsNullOrEmpty($AlbumId)) {
    $Writer.WriteLine("--$Boundary")
    $Writer.WriteLine("Content-Disposition: form-data; name=`"album_id`"")
    $Writer.WriteLine()
    $Writer.WriteLine($AlbumId)
}

# 添加文件字段
$Writer.WriteLine("--$Boundary")
$Writer.WriteLine("Content-Disposition: form-data; name=`"file`"; filename=`"$FileName`"")
$Writer.WriteLine("Content-Type: application/octet-stream") # 或者根据图片类型设置,但 octet-stream 通常也适用
$Writer.WriteLine()
$Writer.Flush() # 确保前面的内容已写入

$Body.Write($FileBytes, 0, $FileBytes.Length)

$Writer.WriteLine()
$Writer.WriteLine("--$Boundary--")
$Writer.Flush()

$EncodedBody = $Body.ToArray()
$Body.Dispose()
$Writer.Dispose()

Write-Host "正在上传图片 '$FileName' 到 ImgURL..."

try {
    # 发送 POST 请求
    $Response = Invoke-RestMethod -Uri $ApiUrl -Method Post -ContentType $ContentType -Body $EncodedBody -TimeoutSec 60

    # 处理响应
    if ($Response.code -eq 200) {
        Write-Host "图片上传成功!" -ForegroundColor Green
        Write-Host "------------------------------------"
        Write-Host "图片 URL: $($Response.data.url)"
        Write-Host "缩略图 URL: $($Response.data.thumbnail_url)"
        Write-Host "删除 URL: $($Response.data.delete)"
        Write-Host "------------------------------------"
    } else {
        Write-Host "图片上传失败!" -ForegroundColor Red
        Write-Host "错误代码: $($Response.code)"
        Write-Host "错误消息: $($Response.msg)"
    }
} catch {
    Write-Host "请求发送失败或发生错误:" -ForegroundColor Red
    Write-Host $_.Exception.Message -ForegroundColor Red
}

image.png

关于作者和DreamAI

https://docs.dingtalk.com/i/nodes/Amq4vjg890AlRbA6Td9ZvlpDJ3kdP0wQ?iframeQuery=utm_source=portal&utm_medium=portal_recent

梦幻智能logo-01(无水印).png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值