有许多服务可用于向用户提供内容。我正在寻找相反的东西:用于接收用户上传的内容的服务。
具体来说,我正在构建一个网络应用程序,其中上传的文件可能从 10MB 到 100MB 不等。我预计接收这么多数据会有很多问题,而我正在寻找的是为我处理这些问题的服务。
有许多服务可用于向用户提供内容。我正在寻找相反的东西:用于接收用户上传的内容的服务。
具体来说,我正在构建一个网络应用程序,其中上传的文件可能从 10MB 到 100MB 不等。我预计接收这么多数据会有很多问题,而我正在寻找的是为我处理这些问题的服务。
您可以使用 Amazon S3 接收来自用户的上传。您可以生成一个签名的 HTML 表单,让您的用户将文件上传到指定的存储桶;您可以使用政策文件控制表格的到期时间。
Amazon S3 开发人员指南:使用 POST 进行基于浏览器的上传
截至 2016 年 4 月,他们还有一个名为Transfer Acceleration的新功能,它在精神上更接近用于文件上传的实际“反向 CDN”。
Uploadcare旨在减轻您接收、存储、处理和分发来自用户的文件和图像的痛苦。试试看,有免费计划。
您实际上可以通过在您的网络应用程序中使用 HTML5/Flash 上传器来解决这个问题,而无需支付第三方费用。我特别推荐Plupload(免费、开源)。它是一个 javascript 库,它使用客户端前端(HTML5、Flash、Silverlight 等)的选择来处理上传文件,这种方式不会触发浏览器超时,并允许用户查看他们的上传进度(具有 10Mb 限制的演示)。
除了脚本之外,您只需要服务器上的后端即可接收数据。您需要注意可能触发服务器端超时的任何事情,例如 PHP 的 MAX_FILE_SIZE 或请求超时。
plupload 包附带了示例前端和后端脚本,因此您应该可以快速启动并运行。
我已经使用 plupload 上传了 80Mb 的文件,所以我知道它可以工作。在典型的 DSL 连接上它会很慢,但没有上传服务可以避免这种情况。
好像您正在寻找类似Amazon S3或Google Storage的东西。两者都有专用的 API,您只需为使用的存储付费。他们都有各种语言的库,以使集成更容易。