Cloudflare 全球节点加速,上传下载低延迟,支持断点续传
提供代理链接(隐藏真实地址)和重定向链接(极速加载)
内置 CORS 支持,前端直接调用,无需额外配置代理服务器
无广告、无水印,支持个人/企业商用,流量无硬性限制
在 Cloudflare Pages 后台设置环境变量 API_KEY
复制示例代码,替换域名和 API Key,前端直接调用
上传图片测试接口稳定性,无误后正式集成到项目中
https://你的域名/api/upload
POST
multipart/form-data
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| X-API-Key | 是 | String | Cloudflare 后台设置的 API_KEY |
| Content-Type | 是 | String | 必须为 multipart/form-data |
| 参数名 | 必选 | 类型 | 说明 |
|---|---|---|---|
| file | 是 | File | 要上传的图片文件(≤10MB) |
| channel | 否 | String | 上传渠道,默认传 aiyun |
{
"success": true,
"channel": "aiyun_dual_mode",
"url": "https://yourdomain.com/img/xxx.jpg",
"proxy_url": "https://yourdomain.com/img/xxx.jpg", // 代理链接(推荐)
"redirect_url": "https://yourdomain.com/pic/xxx.jpg", // 重定向链接
"key": "xxx.jpg" // 唯一标识
}
| 状态码 | 错误信息 | 说明 |
|---|---|---|
| 401 | Unauthorized | API Key 错误或未提供 |
| 400 | No file uploaded | 未检测到上传文件 |
| 500 | Internal Server Error | 后端执行异常 |
// 原生 JS 上传示例
async function uploadImage(file) {
const formData = new FormData();
formData.append('file', file);
formData.append('channel', 'aiyun'); // 可选
try {
const response = await fetch('https://你的域名/api/upload', {
method: 'POST',
headers: {
'X-API-Key': '你的 API_KEY'
},
body: formData,
// 监听上传进度(可选)
onUploadProgress: (e) => {
const progress = (e.loaded / e.total) * 100;
console.log(`上传进度:${progress.toFixed(0)}%`);
}
});
const result = await response.json();
if (result.success) {
console.log('代理链接:', result.proxy_url);
console.log('重定向链接:', result.redirect_url);
return result;
} else {
throw new Error('上传失败:' + JSON.stringify(result));
}
} catch (error) {
console.error('上传异常:', error);
throw error;
}
}
// 调用示例
document.querySelector('#file-input').addEventListener('change', (e) => {
const file = e.target.files[0];
if (file) uploadImage(file);
});