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

发布于 2022-08-28 12:44:50 字数 1619 浏览 66 评论 0

最近在开发一个视频网站,打算用百度开放云平台上的云存储,但视频较大,一般有几个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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文