首页 > 百度云存储如何上传数G超大文件(视频类)和防盗链等一系列问题

百度云存储如何上传数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设置前一样,防盗链不起作用。。。请用过百度云存储的大牛解释下,指导下!!纠正不当之处~~

【热门文章】
【热门文章】