接口地址:会员专用网址/api/upload/
返回格式:JSON
请求方式:POST
默认QPS:30+
Github:https://github.com/chikuairi/bohetuchuang_api
请求参数
参数名称 | 类型 | 必选 | 描述 |
---|
api_token | String | 是 | 您的api_token,用于验证请求者身份。填写错误将导致请求失败,报402错误。 |
---|---|---|---|
uploadedFile | String | 是 | 要上传的文件,缺少该参数报406错误。 |
mode | Number(Int)、String | 否 | 命名方式,可取值1,2,3。1:自动重命名;2:保留原文件名;3:自动重命名(短链接模式)。不填默认为自动重命名。 |
uploadPath | String | 否 | 要上传的目录,不填默认为 年/月/日 目录。多级目录以 / 分隔 |
watermark | Number(Int)、String | 否 | 是否开启水印,可取值1,0。 1:开启水印;0:关闭水印。不填默认为关闭水印。 |
1.PHP(在后端请求是一种很好的方式,因为这样可以保护好你的api_token
。)
<?php
// 此处仅提供一个简单的示例,具体实现起来方案有很多,可按需开发
$url = "你的接口地址";
// 定义POST DATA 数组
$post_data = [
'uploadedFile'=>new \CURLFile('/www/wwwroot/myProduct/demo.jpg'),// 如果使用这个方式请填写文件的绝对路径
'api_token' => '你的token',
'mode' => '命名方式',
'uploadPath' => '上传目录',
'watermark' => '是否开启水印'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$output = curl_exec($ch);
curl_close($ch);
// 打印调用结果
echo $output;
// 以下代码只是调用结果展示,复制代码后删掉或者注释掉下面内容才能运行
// 响应结果
{
"status":"success",
"statusCode":"200",
"resultData":"success:File uploaded",
"url":"返回的文件链接",
"originFileName":"原文件名称",
"lessurl":"不含https://前缀的链接"
}
?>
2.Python(在后端请求是一种很好的方式,因为这样可以保护好你的api_token
。)
# 导入requests包
import requests
# 此处仅提供一个简单的示例,具体实现起来方案有很多,可按需开发
def python_demo():
url = '你的接口地址'
files = {'uploadedFile': ('demo.jpg', open('demo.jpg', 'rb'), "image/jpeg")}
data = {'api_token': '你的token',
'mode': '命名方式',
'uploadPath': '上传目录',
'watermark': '是否开启水印',
}
res = requests.post(url, data=data, files=files)
print(res.text)
python_demo()
# 以下代码只是调用结果展示,复制代码后删掉或者注释掉下面内容才能运行
# 响应结果
{
"status":"success",
"statusCode":"200",
"resultData":"success:File uploaded",
"url":"返回的文件链接",
"originFileName":"原文件名称",
"lessurl":"不含https://前缀的链接"
}
3.Vue2原生+Axios(不推荐直接在公共项目的前端请求接口,因为这样会暴露你的api_token
!)
// 此处仅提供一个简单的示例,具体实现起来方案有很多,可按需开发
import Axios from "axios";
export default {
methods:{
fileUpload(event){
console.log(event);
let file = event.target.files
let formData = new FormData()
formData.append('uploadedFile', file[0])
formData.append("api_token", "你的token");
formData.append("mode", "命名方式");
formData.append("uploadPath", "上传目录");
formData.append("watermark", "是否开启水印");
// 文件上传
Axios.post('你的接口地址', formData)
.then((res) => {
let data = res.data;
console.log(data);
}).catch((e)=>{
console.log(e);
})
},
}
}
以下代码只是调用结果展示,复制代码后删掉或者注释掉下面内容才能运行
响应结果
{
"status":"success",
"statusCode":"200",
"resultData":"success:File uploaded",
"url":"返回的文件链接",
"originFileName":"原文件名称",
"lessurl":"不含https://前缀的链接"
}
4.JQuery Ajax(不推荐直接在公共项目的前端请求接口,因为这样会暴露你的api_token
!)
// 此处仅提供一个简单的示例,具体实现起来方案有很多,可按需开发
function getfilename(){
var uploadedFile = document.getElementById('boheimg').files;
var formData = new FormData();
for(var i=0; i"uploadedFile", uploadedFile[i]);
}
console.log(uploadedFile);
formData.append("api_token", "你的token");
formData.append("mode", "命名方式");
formData.append("uploadPath", "上传目录");
formData.append("watermark", "是否开启水印");
$.ajax({
url: "你的接口地址",//传向后台服务器文件
type: 'post', //传递方法
data: formData, //传递的数据
dataType : 'json', //传递数据的格式
contentType: false,
processData: false,
success: function (responseStr) {
console.log(responseStr)
},
error: function () {
alert("上传错误!");
}
});
}
// 以下代码只是调用结果展示,复制代码后删掉或者注释掉下面内容才能运行
// 响应结果
{
"status":"success",
"statusCode":"200",
"resultData":"success:File uploaded",
"url":"返回的文件链接",
"originFileName":"原文件名称",
"lessurl":"不含https://前缀的链接"
}
参数名称 | 类型 | 描述 | 示例 |
---|
status | String | 返回的状态值。 | success |
---|---|---|---|
statusCode | String | 返回的状态码。 | 200 |
resultData | String | 处理后返回的结果。 | success:File uploaded |
url | String | 返回的文件链接 | https://123.com/abc.jpg |
lessurl | String | 不含https://前缀的链接 | 123.com/abc.jpg |
originFileName | String | 原文件名称 | abc.jpg |
一般情况下都会返回下列状态码:
{
"status":"success",
"statusCode":"200",
"resultData":"success:File uploaded",
"url":"返回的文件链接",
"originFileName":"原文件名称",
"lessurl":"不含https://前缀的链接"
}
状态码 | 描述 |
---|
200 | 成功 |
---|---|
401 | 失败:未开启API上传功能。(在后台开启即可) |
402 | 失败:api_token错误。(请查证api_token) |
403 | 失败:文件尺寸超限。(升级套餐或调整文件尺寸) |
405 | 失败:未被支持的扩展名(文件格式)。 |
406 | 失败:没有选择文件就执行了上传操作。 |
407 | 失败:账号违规,API被封禁。 |
500 | 失败:其他错误或服务器内部错误。(请联系客服处理) |
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。