ICO 图标生成 API 文档

概述

该 API 用于将上传的图片转换为指定尺寸的 ICO 图标。支持的图片格式包括 JPG、JPEG、PNG 和 WebP。此 API 会根据用户上传的图片和选择的尺寸类型,在服务器端处理并生成相应的 ICO 图标文件,最后返回生成文件的路径信息。

基本信息

  • URLhttps://ico.ntab.ink/api.php
  • 请求方法POST
  • 响应格式JSON

响应状态码

  • 200:请求成功处理,返回生成的 ICO 文件信息。
  • 400:请求参数有误,如缺少必要参数、文件格式不支持等。
  • 500:服务器内部错误,如文件上传失败、生成 ICO 文件出错等。

请求参数

参数名 类型 是否必选 描述 约束条件
image 文件 要上传的图片文件 支持 JPG、JPEG、PNG 和 WebP 格式,文件大小不能超过服务器配置的最大上传限制。
ico_type 整数 ICO 图标的尺寸类型 1:16x16, 2:32x32, 3:48x48, 4:64x64, 5:96x96, 6:128x128, 7:256x256

响应结构

成功响应(状态码 200)

{
    "status": "success",
    "message": "ICO 文件生成成功",
    "ico_file": "outputs/xxxxxx.ico"
}
  • status:响应状态,成功时为 success
  • message:响应消息,说明操作结果。
  • ico_file:生成的 ICO 文件的相对路径。

错误响应(状态码 400)

{
    "status": "error",
    "message": "缺少必要的参数:image 或 ico_type"
}

错误响应(状态码 500)

{
    "status": "error",
    "message": "生成 ICO 文件时出错"
}

示例请求

使用 curl 工具

上传图片并生成 64x64 尺寸的 ICO 图标:

curl -X POST -F "image=@test.jpg" -F "ico_type=4" https://ico.ntab.ink/api.php

使用 JavaScript 的 fetch API

const fileInput = document.getElementById('image-input');
const file = fileInput.files[0];
const formData = new FormData();
formData.append('image', file);
formData.append('ico_type', 2);

fetch('https://ico.ntab.ink/api.php', {
    method: 'POST',
    body: formData
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('请求出错:', error));

注意事项

  • 请确保服务器配置允许文件上传,并且有足够的权限创建和写入 uploadsoutputs 目录。
  • 上传的图片文件大小不能超过服务器配置的最大上传限制。
  • 请确认网络连接正常,若使用 fetch API 发送请求,注意浏览器的跨域策略。