[虎绿林API] 云存储文件上传API一帖中描述了通过虎绿林web服务器中转的方式上传文件到云存储(目前是阿里云OSS)的方法,但是该方法最大的缺点就是太慢了。
虎绿林web服务器带宽为5Mbps,所以最高上传速度约为640KB/s。但是如果能直接上传到云存储服务器(比如阿里云OSS),就可以达到数MB/s。
所以我们提供了帮助web应用程序和网页插件直接上传到云存储服务器的接口,以及web上传程序的参考实现。
name
size
md5
可通过GET
或POST
方式发送):https://hu60.cn/q.php/api.upload-form.json?name=文件名&size=文件大小&md5=文件md5值
如未计算文件的md5值,则省略md5
参数:
https://hu60.cn/q.php/api.upload-form.json?name=文件名&size=文件大小
请求将得到如下结果:
{
// 文件是否存在,为true则表示文件存在,不需要再上传
"fileExists": false,
// 上传请求地址
"requestUrl": "https://hu60cn.oss-cn-beijing.aliyuncs.com",
// 上传请求类型
"method": "POST",
// 上传请求的Content-Type
"enctype": "multipart/form-data",
// 上传请求表单的内容,应该原样提交这些内容到服务器,
// 不要试图解析里面的字段,因为字段随时可能会改变
"formData": {
"a":"b", "c":"d", ...
},
// 文件字段的名称
// 需要添加到 formData 中,内容是你要上传的文件
"fileFieldName": "file",
// 如果上传成功,可用该URL下载文件
"downloadUrl": "http://file.hu60.cn/file/hash/jpg/000000000000cbb1d8a881638d9522f6333.jpg?attname=tiger.jpg",
// 如果上传成功,可将其添加到编辑框中
"contentUbb": "《图片:http://file.hu60.cn/file/hash/jpg/000000000000cbb1d8a881638d9522f6333.jpg?attname=tiger.jpg,tiger.jpg》"
}
若上述API给出"fileExists": false
,按API给出的形式发起上传请求即可。若上传请求得到2xx响应,则上传成功,使用API给出的downloadUrl
作为附件下载地址。注意:如果你上传的文件大小或MD5与请求API时提供的不符,上传会失败。
若API给出"fileExists": true
,则无需再上传,直接使用downloadUrl
作为附件下载地址。
未计算文件的md5值,随机生成文件名,总是可上传
https://hu60.cn/q.php/api.upload-form.json?name=tiger.jpg&size=333
文件超过5GB,无法通过表单上传,得到虎绿林标准异常
https://hu60.cn/q.php/api.upload-form.json?name=tiger.jpg&size=333333333333&md5=000000000000cbb1d8a881638d9522f6
忘记给出文件名,得到虎绿林标准异常
https://hu60.cn/q.php/api.upload-form.json?size=2038619&md5=3293d6cd825b9d90b92b831224509d44
忘记给出文件大小,得到虎绿林标准异常
https://hu60.cn/q.php/api.upload-form.json?name=tiger.png&md5=3293d6cd825b9d90b92b831224509d44
MD5格式不正确,得到虎绿林标准异常
https://hu60.cn/q.php/api.upload-form.json?name=tiger.png&size=2038619&md5=3293d6cd825b9d90b92b8312245
@老虎会游泳,

效率真快
各大客户端安排
小米MIX2s(白)
.config(237.32 KB)
一加8Pro
@堂妹妹的,我觉得php不适合物联网开发
文件:
com-upload-image.nvue(8.79 KB)
## 实例