如何使用云存储分段上传音乐/视频(适用于Laravel)?

时间:2015-09-28 10:00:09

标签: javascript php file-upload amazon-s3 laravel-5

我正在考虑使用S3亚马逊存储(如果你们有更好的存储,请不要犹豫推荐)。我可以做一个正常的文件上传,但是假设我正在上传一个非常大的视频/音乐文件(大概> 20mb),我会点击php上传maxfilesize。

是的,我可以设置php_max_filesize值,但我正在考虑别的事情。

如何将这些文件分成更小的块,并上传每个块(如下载torrent文件,它们每个都有下载块)?并在用户想要的任何时候停止并继续它们?

这个(http://www.hjsplit.org/php/)不起作用,因为它需要首先读取文件 ON THE SERVER ,然后再上传它,所以它没用。有没有Laravel / PHP / JS库?

或者,我想知道youtube是怎么做到的?

1 个答案:

答案 0 :(得分:0)

Chunked Uploads的工作方式是将文件分成Javascript中的片段并将编号发送到后端,然后后端通常只将其接收的每个块的内容复制到它创建的文件中并继续计数块的大小,直到它们构成您要上传的原始文件的完整大小。

就软件包而言,请查看官方AWS SDK for PHP http://docs.aws.amazon.com/AmazonS3/latest/dev/usingHLmpuPHP.html

查看第二个使用其分段上传功能的示例。