我目前正在开发一个应用程序,用于通过简单的 http post 将大型视频文件从 iPhone 上传到 web 服务。截至目前,我构建了一个 NSURLRequest 并在加载请求之前预加载了所有视频文件数据。如果文件很大,这自然会消耗大量内存,在某些情况下甚至是不可能的。
所以基本上我的问题是:是否有正确的方法来流式传输数据或以块的形式加载数据而不对网络服务器进行任何修改?
谢谢。
编辑澄清:我正在寻找一种将大型多部分/表单数据从iPhone流式传输到网络服务器的方法。不是反过来。
接受答案后编辑:我刚刚发现苹果有一些漂亮的源代码是为了这个确切的目的而编写的,它显示在帖子中附加了额外的数据,而不仅仅是大文件本身。万一有人需要它:SimpleURLConnections - PostController.m
另一个编辑:在使用来自苹果的那段源代码时,我遇到了一个非常愚蠢和丑陋的问题,即使是wireshark 也无法帮助我调试。当在引号之间声明边界字符串时(如苹果示例),一些网络服务器不理解边界字符串。我在 Apache Tomcat 上遇到了问题,删除引号效果很好。