2011-07-03 63 views
0

我使用ASIFormDataRequest將我的文件上傳到服務器。如何使用AsiHttpRequest上傳大文件

我首先將文件轉換爲NSData對象。但是當我的文件大於2M時,我的應用程序總是在上傳過程中停止。

我知道這是一個內存問題。但我不知道如何解決它。

謝謝!

回答

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

希望這可以解決您的問題。

乾杯