百度云存储如何上传数G超大文件(视频类)和防盗链等一系列问题
最近在开发一个视频网站,打算用百度开放云平台上的云存储,但视频较大,一般有几个G(高清电影)。1G一下的视频管理控制台里能用页面上传,但1G以上就得用curl等工具了。于是蛋疼的事来了。按照百度BAE官网的API,用curl上传超大文件的代码如下:(...表示签名部分,下同)
curl -v -T test.ogg "http://bcs.duapp.com/video/test.ogg?superfile=1&sign=..."
但使用后返回说文件太大,我就把请求url加上size,代码:
curl -v -T test.ogg "http://bcs.duapp.com/video/test.ogg?superfile=1&sign=...&size=4147483648"
可还是返回说文件太大,后来在官网上找到这个说法:put superfile body 不超过1M。。又再看了看API,发现不能直接put文件,要put对象,对象中的值为文件,于是就在要上传的视频文件的同一目录下创建了一个名为superfile.txt的文件,内容如下:
{"object_list":
{"part_0":
{"url":"test.ogg"},
"part_1":
{"url":"test.ogg"}
}
}
然后curl的代码:
curl -v -T "{superfile.txt}" "http://bcs.duapp.com/video/test.ogg?superfile=1&sign=..."
返回说参数错误什么的,我就再一次加上了size:
curl -v -T "{superfile.txt}" "http://bcs.duapp.com/video/test.ogg?superfile=1&sign=...&size=4147483648"
这下返回说签名错误。。。
另外还有防盗链的问题,看看官网的api貌似很简单,我先发了条指令:
curl -v "http://bcs.duapp.com/video?sign=...&acl=1"
获取到了acl设置,然后新建文件acl.txt,内容如下:
{"statements":[
{"user":["sheep5804"],
"resource":["video/*"],
"action":["get_object"],
"effect":"allow",
"referer":["http://cinest.tk/*"]}
]}
然后:
curl -v -X PUT -T acl.txt "http://bcs.duapp.com/video?sign=...&acl=1"
上传新的acl设置,再获取下,acl改变了,表明新上传的设置替换了旧的设置,我试了试新建html文件,然后在video标签的超链接写上云存储上一个短视频的url,照样能访问,和更改acl设置前一样,防盗链不起作用。。。请用过百度云存储的大牛解释下,指导下!!纠正不当之处~~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论