我需要在 WebView
中通过 POST 发送大量数据(图像文件),因此我将 NSMutableURLRequest
与 setHTTPBody:
结合使用>.
问题:如果数据大小超过 3MB,应用程序会突然开始消耗大量内存,并且所有分页都会变得很慢。
我尝试过更改此设置:
[request setHTTPBody:[NSData dataWithBytes:post.Get() length:post.Size()]];
..对此:
[request setHTTPBodyStream:[NSInputStream inputStreamWithData:
[NSData dataWithBytes:post.Get() length:post.Size()]]];
..但是似乎什么也没有发生,请求只是超时了。我没有收到任何正常的回调(例如 WebViewProgressEstimateChangedNotification
),并且数据似乎没有设置。
那么,我该如何 (a) 让 NSData
方法不占用内存或 (b) 让流方法发挥作用(假设这是一个很好的解决方法)?
最佳答案
我最终通过使用 NSURLConnection
手动上传,然后将结果输入 WebView
来解决这个问题。作为奖励,我可以通过这种方式获得更好的上传进度更新。
关于cocoa - NSMutableURLRequest:发布大量数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3106444/