2011-07-03 8 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を参照してください。

これがあなたの問題を解決することを願っています。

乾杯

関連する問題