如何使用AsiHttpRequest上传大文件

时间:2011-07-03 17:32:32

标签: iphone objective-c

我使用ASIFormDataRequest将我的文件上传到服务器。

我首先将文件转换为NSData对象。但是当我的文件大于2M时,我的应用程序总是在上传过程中停止。

我知道这是一个记忆问题。但我不知道如何解决它。

谢谢!

1 个答案:

答案 0 :(得分:0)

您不必转换为NSData。您可以直接将文件设置为发布值。

ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"Ben" forKey:@"first_name"];
[request setPostValue:@"Copsey" forKey:@"last_name"];
[request setFile:@"/Users/ben/Desktop/ben.jpg" forKey:@"photo"];

[request setFile:@"/Users/ben/Desktop/ben.jpg" withFileName:@"myphoto.jpg" andContentType:@"image/jpeg" forKey:@"photo"];

如果您要上传大文件,我建议您使用UIProgressIndicator,这样您就可以让用户了解进度。

要了解有关ASIHTTPRequest的更多信息,请参阅How to use

希望这能解决您的问题。

干杯