写入文件大型HTTP响应的最佳方法

时间:2012-01-25 10:42:25

标签: objective-c macos http

我正在寻找写入来提交网络请求结果的方法。在基于JVM或CLR的语言中,我熟悉适当的基于流的技术,但是我对如何在Objective-C中完成这一点毫无头绪。 我需要的本质上是一种发送HTTP请求(带有自定义标头集)的方法,并在收到它时写入HTTP响应内容(由于内存限制,我无法负担得到整个文件甚至很大一部分它在坚持内容之前)。

思想/建议/段?

提前致谢!

P.S。:我正在为Mac OS开发,我已经在使用ASIHTTPRequest了,如果这可能会有所帮助。

编辑:我应该指定我不想将服务器返回的所有内容写入磁盘,除非我可以直接在文件的某个偏移处写入它们(我是然后能够操纵),所以任何直接转储到新文件或文件开头的东西都不适合我。

1 个答案:

答案 0 :(得分:0)

有几种方法,取决于你想如何处理响应

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setDownloadDestinationPath:@"/Users/Test/Desktop/cool.html"];

设置setDownloadDestinationPath:后,它会保存到临时路径中,当它完成后,它会将其移动到您设置的downloadDestinationPath

或者您可以实现request:didReceiveData:委托(请参阅ASIHTTPRequestDelegate.h),并自行处理。这类似于流。

PS。我只在iOS上使用ASIHTTPRequest,而不是Mac OS,所以我不确定它是否适合你。

相关问题