通过 HTTP 上传大文件
我需要将潜在的大文件(例如,10到100兆字节)文件从桌面应用程序上传到服务器。服务器代码是用 PHP 编写的,PHP 是C++/MFC 中的桌面应用程序。我希望能够在上传中途失败时恢复文件上传,因为该软件将通过不可靠的连接使用。我有哪些选择?我发现了许多用于C++的HTTP上传组件,例如 http://www.chilkatsoft.com/refdoc/vcCkUploadRef.html 看起来很棒,但它似乎没有处理半成品上传的“恢复”(我假设这是因为HTTP 1.1不支持它)。我还查看了 BITS 服务,但对于上载,它需要一个 IIS 服务器。到目前为止,我唯一的选择似乎是将我想上传的文件切成更小的部分(比如每个1兆格),将它们全部上传到服务器,用PHP重新组装它们并运行校验和以查看一切是否顺利。要继续,我需要在上传开始时进行某种形式的“握手”,以找出哪些片段已经在服务器上。我是否必须手动编写代码,或者是否有人知道一个为我完成所有这些工作的库,或者甚至是一个完全不同的解决方案?出于维护原因(防火墙的潜在问题等),我宁愿不切换到另一个支持本机恢复的协议。