跳到主要内容

API使用指南

1. API基础信息

  • 接口地址:部署域名/api.php
  • 请求方式:POST(multipart/form-data)
  • 返回格式:支持json、jsonp、form(默认json)
  • 跨域支持:内置跨域处理,支持Web端调用

2. 请求参数

字段名变量名是否必填示例值描述
文件file-multipart格式上传的文件
是否首页显示show11=显示,0=隐藏(默认1)
是否设置密码ispwd01=设置密码,0=不设置(默认0)
下载密码pwd123456仅ispwd=1时有效
返回格式formatjsonjson/jsonp/form
跳转地址backurlhttps://xxx仅form格式有效
回调函数callbackcallback仅jsonp格式有效

3. 返回参数

字段名变量名类型示例值描述
上传状态codeInt00=成功,非0=失败
提示信息msgString上传成功!失败时返回错误原因
文件MD5hashStringf1e807cb0d6ba52d71bdb02864e6bda8文件唯一标识
文件名称nameStringexample.jpg原始文件名
文件大小sizeInt58937单位:字节
文件格式typeStringjpg文件后缀
下载地址downurlStringhttps://xxx/down.php?key=xxx文件下载链接
预览地址viewurlStringhttps://xxx/view.php?key=xxx仅媒体文件有此参数

4. 调用示例

4.1 cURL调用(推荐)

<?php
// 本地文件路径
$filePath = '/path/to/local/file.jpg';
if (!file_exists($filePath)) {
die("文件不存在: $filePath");
}

// API地址
$apiUrl = 'https://你的部署域名/api.php';

// 创建cURL句柄
$ch = curl_init();

// 构造表单数据
$postData = [
'file' => new CURLFile($filePath),
'format' => 'json',
'ispwd' => 1,
'pwd' => 'SecurePass123'
];

// 设置cURL选项
curl_setopt_array($ch, [
CURLOPT_URL => $apiUrl,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HEADER => false,
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_TIMEOUT => 60
]);

// 执行请求
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

// 错误处理
if (curl_errno($ch)) {
die('cURL错误: ' . curl_error($ch));
}
curl_close($ch);

// 处理响应
if ($httpCode === 200) {
$result = json_decode($response, true);
if ($result && $result['code'] === 0) {
echo "上传成功!\n";
echo "下载链接: {$result['downurl']}\n";
echo "预览链接: {$result['viewurl']}\n";
} else {
echo "上传失败: {$result['msg']}\n";
}
} else {
echo "HTTP请求失败,状态码: $httpCode\n";
}
?>

4.2 Guzzle调用

<?php
require 'vendor/autoload.php';

use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Utils;

$filePath = '/path/to/local/file.jpg';
$apiUrl = 'https://你的部署域名/api.php';

$client = new Client();

try {
$response = $client->post($apiUrl, [
'multipart' => [
[
'name' => 'file',
'contents' => fopen($filePath, 'r'),
'filename' => basename($filePath)
],
[
'name' => 'format',
'contents' => 'json'
],
[
'name' => 'ispwd',
'contents' => '1'
],
[
'name' => 'pwd',
'contents' => 'SecurePass123'
]
]
]);

$result = json_decode($response->getBody(), true);
if ($result && $result['code'] === 0) {
echo "上传成功: {$result['msg']}\n";
echo "下载链接: {$result['downurl']}\n";
} else {
echo "上传失败: {$result['msg']}\n";
}
} catch (\Exception $e) {
echo "请求异常: " . $e->getMessage() . "\n";
}
?>

5. 文件删除API

  • 请求方式:DELETE
  • 必要参数:
    • hash:文件MD5值
    • file_pwd:文件设置的下载密码(若未设置则无需传)
  • 示例(curl):
curl -X DELETE \
-d "hash=3a78c73f88489c8f33c0e430683b5d5&file_pwd=123456" \
https://你的部署域名/api.php