搜狗图床 - 新野API
来自搜狗,需要增加meta头部才能绕过防盗链

接口地址: https://api.xinyew.cn/api/sogotc

返回格式: JSON

请求方式: POST/GET

请求示例: https://api.xinyew.cn/api/sogotc

请求参数说明:

名称 必填 类型 说明
file file 上传的图片文件,字段名为 file。

返回参数说明:

名称 类型 说明
errno int 状态码,0 表示成功
error string 错误信息,成功时为空字符串
data object 数据对象,包含上传结果
data.url string 上传成功后文件的访问 URL
data.fileName string 上传文件的原始文件名
meta string HTML标签,用于设置 referrer,固定值为

返回示例:

{
    "errno": 0,
    "error": "",
    "data": {
        "url": "http://img01.sogoucdn.com/app/a/100520146/04bc5ba23f064eb106472f7bb2fba5af",
        "fileName": "新野API.png"
    },
    "meta": ""
}

错误码格式说明:

名称 类型 说明
errno int 状态码,1 表示失败
error string 错误信息,描述失败原因
data null 数据为 null,表示无有效结果
meta string HTML标签,用于设置 referrer,固定值为

代码示例:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="referrer" content="never">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件上传</title>
</head>
<body>
<h1>文件上传测试</h1>
<form id="uploadForm" enctype="multipart/form-data">
<input type="file" name="file" id="file" required>
<button type="submit">上传</button>
</form>
<div id="result"></div>

<script>
const form = document.getElementById('uploadForm');
const resultDiv = document.getElementById('result');

form.addEventListener('submit', async function (e) {
e.preventDefault();

const formData = new FormData(form);

const response = await fetch('https://api.xinyew.cn/api/sogotc', {
method: 'POST',
body: formData
});

const result = await response.json();

if (result.errno === 0) {
resultDiv.innerHTML = `
<p>上传成功!</p>
<p>文件名:${result.data.fileName}</p>
<p>文件地址:<a href="${result.data.url}" target="_blank">${result.data.url}</a></p>
<img src="${result.data.url}" alt="图片预览" style="max-width: 200px;">
`;
} else {
resultDiv.innerHTML = `<p>上传失败:${result.error}</p>`;
}
});
</script>
</body>
</html>