我使用ASIFormDataRequest将我的文件上传到服务器。
我首先将文件转换为NSData对象。但是当我的文件大于2M时,我的应用程序总是在上传过程中停止。
我知道这是一个记忆问题。但我不知道如何解决它。
谢谢!
答案 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。
希望这能解决您的问题。
干杯