所以我有一个应用程序,当前使用多部分表单将图像上传到Web服务,我只是简单地使用NSMutableRequest和NSURLConnection。我似乎遇到的问题是我希望能够上传一个给定的文件而不将其作为NSData对象加载到程序中,而只是从文件路径。我听说这是可能的,我知道ASIHTTPRequest似乎是这样做的。任何帮助将非常感激!谢谢!
答案 0 :(得分:2)
从技术上讲,你可以通过提供ASIHTTPRequest的路径来发布文件,但ASIHTTPRequest只是为你做了肮脏的工作。在某些时候,你将不得不将文件加载到内存中。
另一种方法是创建一个自定义NSInputStream
子类(让我们称之为HTTPPostStream),它动态构建HTTP POST主体,给定一些文件路径,什么不是。然后它可以直接从磁盘流出字节并传入传出请求,从而避免将大文件加载到内存中。这将是更多工作,但您不必担心将2GB文件加载到内存中。
为简单起见,ASIHTTPRequest看起来相当不错。