返回
API文档(上传文件)V10.2.4+

接口地址:https://会员专用网址/api/upload/

返回格式:JSON

请求方式:POST

Body:Form-Data

默认QPS:50+

适用会员程序版本V10.2.4及以上

Github:https://github.com/chikuairi/bohetuchuang_api

文档太复杂,看不懂?没关系,官网添加客服微信获取免费技术协助!

请求参数

参数名称
类型
必选
描述
api_token
String
您的api_token,用于验证请求者身份。填写错误将导致请求失败,报402错误。
upload_format
String
可选值 file 或 base64 或 url。 即通过二进制文件上传还是通过base64编码上传还是通过远程URL上传。 如果通过文件上传,则下一个参数 uploadedFile 就必须是二进制文件, 如果通过base64编码上传,则下一个参数 uploadedFile 就必须是完整的Base64编码, 如果通过url上传,则下一个参数 uploadedFile 就必须是完整的URL地址(必须包含协议头)。 如不填写则默认按照二进制文件的方式上传
uploadedFile
File/String
要上传的文件,缺少该参数报406错误。 上一个参数 upload_format 如果是file就必须以二进制文件的方式上传, 上一个参数 upload_format 如果是base64就必须通过base64编码的方式上传, 上一个参数 upload_format 如果是url就必须通过url的方式上传。
protocol_type
String
需要返回HTTPS协议的链接还是HTTP协议的链接,取值 http 即返回HTTP协议的链接。不填写该字段则默认返回HTTPS协议的链接(薄荷图床本身支持双协议访问,因此无需担心协议变更后影响正常访问。)
mode
Number(Int)、String
命名方式,可取值1,2,3。 1:自动重命名; 2:保留原文件名; 3:自动重命名(短链接模式)。 不填默认为自动重命名。
uploadPath
String
要上传的目录,不填默认为 年/月/日 目录。 多级目录以 / 分隔
watermark
Number(Int)、String
是否开启水印,可取值1,0。 1:开启水印; 0:关闭水印。 不填默认为关闭水印。关于水印文字颜色、透明度、水印位置等设置,继承管理后台中的设置,不需要在API中声明。
image_compress
Number(Int)、String
是否开启图片无损压缩,可取值1,0。 1:开启无损压缩; 0:关闭无损压缩。 不填默认为关闭无损压缩。 ※只有png和jpg(jpeg)格式的图片才可以被压缩,其他格式的文件会自动跳过。
image_compress_level
Number(Int)、String
压缩质量,可取值 0到100之间的任意整数,数值越大,质量越高,数值越小,质量越低,图片损失也越大,通常低于50后就属于明显的有损压缩范围内了。如果上一个参数【image_compress】取值为1,则必须填写这个参数,否则报【801参数不足】错误。

请求示例(点击对应示例名称可展开)

1. Ruby(在后端请求是一种很好的方式,因为这样可以保护好你的 api_token。)
2. PHP curl(在后端请求是一种很好的方式,因为这样可以保护好你的 api_token。)
3. Python(在后端请求是一种很好的方式,因为这样可以保护好你的 api_token。)
4. Java(在后端请求是一种很好的方式,因为这样可以保护好你的 api_token。)
5. Golang(在后端请求是一种很好的方式,因为这样可以保护好你的 api_token。)
6. LUA
7. Vue2原生+Axios(不推荐直接在公共项目的前端请求接口,因为这样会暴露你的 api_token!)
8. JQuery Ajax(不推荐直接在公共项目的前端请求接口,因为这样会暴露你的 api_token!)
9. Auto.js(不推荐直接在公共项目的前端请求接口,因为这样会暴露你的 api_token!)
10. PicGo 调用示例
11. Apifox 调用示例

返回值参数说明

参数名称
类型
描述
示例
status
String
返回的状态值。
success
statusCode
String
返回的状态码。
200
resultData
String
处理后返回的结果。
success:File uploaded
uploadFormat
String
上传方式
file
protocolType
String
指定返回的URL的协议类型
https
url
String
返回的文件链接
https://123.com/abc.jpg
lessurl
String
自动协议链接(不含https://或http://前缀的链接)
123.com/abc.jpg
bbsurl
String
图片BBS代码
[img]https://123.com/abc.jpg[/img]
markdownurl
String
图片MarkDown代码
![](https://123.com/abc.jpg)
htmlurl
String
图片HTML代码
<img src="https://123.com/abc.jpg" />
originFileName
String
原文件名称
abc.jpg
fileNameBody
String
不含扩展名的原文件名
abc
fileNameExt
String
不含原文件名的扩展名
jpg
fileSize
Int
文件大小(单位:字节)
10340
image_x
Int
图片X轴(宽度,单位:像素)
1980
image_y
Int
图片Y轴(高度,单位:像素)
1080
image_pixels
Int
图片像素数
2138400
image_bits
Int
图片位深度
8

返回值示例

一般情况下都会返回下列状态码,如果上传的不是图片格式,则 image_ximage_yimage_pixelsimage_bits 的返回值会是 null

{
    "status": "success",
    "statusCode": "200",
    "resultData": "success:File uploaded",
    "url": "返回的URL(链接)",
    "lessurl": "返回的URL(链接)(不包含协议名)",
    "bbsurl": "图片BBS代码",
    "markdownurl": "图片MarkDown代码",
    "htmlurl": "图片HTML代码",
    "originFileName": "原文件名称",
    "fileNameBody": "不含扩展名的原文件名",
    "fileNameExt": "不含原文件名的扩展名",
    "fileSize": 文件大小(单位:字节),
    "image_x": 图片X轴(宽度,单位:像素),
    "image_y": 图片Y轴(高度,单位:像素),
    "image_pixels": 图片像素数,
    "image_bits": 图片位深度
}

返回状态码说明

状态码
描述
200
成功
401
失败:未开启API上传功能。(在后台开启即可)
402
失败:api_token错误。(请查证api_token)
403
失败:文件尺寸超限。(升级套餐或调整文件尺寸)
405
失败:未被支持的扩展名(文件格式)。
406
失败:没有选择文件就执行了上传操作。
407
失败:账号违规,API被封禁。
408
失败:账号剩余磁盘空间不足。(升级套餐或扩容)
409
失败:账号违规,API功能被暂时封禁。(等待解封)
500
失败:其他错误或服务器内部错误。(请联系客服处理)
700
失败:链接不符合规则,请添加https://或http://协议头。 ★ 只有通过URL上传出错后才会出现这个错误代码
701
失败:下载文件发生未知错误,可能是对方链接设置了密码或设置了相关权限。 ★ 只有通过URL上传出错后才会出现这个错误代码
702
失败:请求下载的文件不存在或对方URL开启了防盗链(类似于404 NOT FOUND)。请确认URL是否正确以及对方的防盗链策略。 ★ 只有通过URL上传出错后才会出现这个错误代码
703
失败:无权限下载该文件。表示对方服务器设置了目录权限或下载权限。 ★ 只有通过URL上传出错后才会出现这个错误代码
704
失败:对方服务器错误。表示对方服务器出现了无法请求的情况,比如防火墙隔离、500Error、高负载等。 ★ 只有通过URL上传出错后才会出现这个错误代码
705
失败:提交的网址无法打开,请求下载的文件不存在或对方URL开启了防盗链。 ★ 只有通过URL上传出错后才会出现这个错误代码
706
失败:不支持的文件类型或链接有误。请确保上传的文件是图床支持的文件类型。 ★ 只有通过URL上传出错后才会出现这个错误代码
801
失败:开启了无损压缩但未填写压缩质量参数。 ★ 只有开启无损压缩上传出错后才会出现这个错误代码
802
失败:开启了无损压缩但压缩质量的值不是整数或这个数值不在0~100的范围内。 ★ 只有开启无损压缩上传出错后才会出现这个错误代码
100%